gpt4 book ai didi

rubygems - "gem install"和 "bundle install"手动删除 gem 后不安装 gem 依赖项。如何通知 Rubygems gem 已被手动删除?

转载 作者:行者123 更新时间:2023-12-02 00:22:12 32 4
gpt4 key购买 nike

我试图在 XP 上构建 capybara-webkit。我关注了this操作说明。它说要进行捆绑安装:

 $ cd ruby193\capybara-webkit
$ bundle install

该命令安装了许多 gem。不幸的是我无法构建 capybara-webkit 所以我手动删除了它安装的所有 gem。之后,我遇到了 gem installbundle install 问题 - 这些命令将已删除的 gem 视为已安装在我的计算机上,如果它们是我的其他一些 gem 的依赖项,则不会安装它们想要立即安装。

请看一个例​​子。我为 capybara-webkit 执行了 bundle install ,它说所有的 gems 都存在:

C:\RailsInstaller\Ruby1.9.3\lib\ruby\gems\1.9.1\gems\capybara-webkit>bundle install
Resolving dependencies...
Using rake (0.9.2)
Using addressable (2.3.2)
Using bundler (1.3.5)
Using appraisal (0.4.0)
Using mime-types (1.22)
Using nokogiri (1.5.9)
Using rack (1.5.2)
Using rack-test (0.6.2)
Using xpath (2.0.0)
Using capybara (2.1.0)
Using json (1.8.0)
Using capybara-webkit (1.0.0) from source at .
Using ffi (1.2.0)
Using childprocess (0.3.6)
Using diff-lcs (1.1.2)
Using websocket (1.0.6)
Using libwebsocket (0.1.7.1)
Using subexec (0.0.4)
Using mini_magick (3.2.1)
Using multi_json (1.5.0)
Using rack-protection (1.3.2)
Using rspec-core (2.6.4)
Using rspec-expectations (2.6.0)
Using rspec-mocks (2.6.0)
Using rspec (2.6.0)
Using rubyzip (0.9.9)
Using selenium-webdriver (2.27.2)
Using tilt (1.3.3)
Using sinatra (1.3.5)
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.

但现在我用bundle show检查这些 gem ,它说它们都已被删除:

C:\RailsInstaller\Ruby1.9.3\lib\ruby\gems\1.9.1\gems\capybara-webkit>bundle show sinatra
The gem sinatra has been deleted. It was installed at:
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/sinatra-1.3.5

C:\RailsInstaller\Ruby1.9.3\lib\ruby\gems\1.9.1\gems\capybara-webkit>bundle show selenium-webdriver
The gem selenium-webdriver has been deleted. It was installed at:
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.27.2

C:\RailsInstaller\Ruby1.9.3\lib\ruby\gems\1.9.1\gems\capybara-webkit>bundle show mini_magick
The gem mini_magick has been deleted. It was installed at:
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/mini_magick-3.2.1

看起来 Rubygems 不知何故在某个地方记住了 gem 已安装并认为它们仍然存在。看来gem只能通过gem uninstall命令删除,而不是手动删除。

有没有办法清除 Rubygems 缓存?如何通知 Rubygems 某些 gem 已被手动删除,以便 Rubygems 认为它​​们现在已卸载?

最佳答案

手动删除 gem 后,删除“C:\Ruby187\lib\ruby\gems\1.8\specifications”中该 gem 的 gemspec 文件。然后尝试捆绑安装。

关于rubygems - "gem install"和 "bundle install"手动删除 gem 后不安装 gem 依赖项。如何通知 Rubygems gem 已被手动删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17474664/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com