13

XPでcapybara-webkitをビルドしようとしていました。私はこの指示に従いました。それはするように言いますbundle install

 $ cd ruby193\capybara-webkit
 $ bundle install

このコマンドにより、多くの gem がインストールされました。残念ながら、capybara-webkit をビルドできなかったため、インストールされたすべての gem を手動で削除しました。その後、問題が発生しましたgem install-bundle installこれらのコマンドは、削除されたgemがコンピューターにインストールされていると見なし、今インストールしたい他のgemの依存関係である場合はインストールしません。

例をご覧ください。私はそうしますbundle installcapybara-webkitそしてそれはすべての宝石が存在していると言っています:

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と、それらはすべて削除されていると表示されます:

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 uninstallgem は手動ではなくコマンドでのみ削除する必要があるようです。

Rubygems キャッシュをクリアする方法はありますか? 一部の gem が手動で削除されたことを Rubygems に通知し、それらを今はアンインストール済みと見なすにはどうすればよいですか?

4

4 に答える 4

26

gem を手動で削除した後、「C:\Ruby187\lib\ruby\gems\1.8\specifications」にあるその gem の gemspec ファイルを削除します。次に、バンドルのインストールを試みます。

于 2013-07-05T06:25:12.517 に答える
4

私はこの答えが非常に遅いことを知っていますが、私自身も同じ問題を抱えていたので、ここでうまくいきました。必要な人のために。

手動で削除した gem を再インストールする場合は、ディレクトリ内のその gem への参照をすべて削除してから を実行する必要があり$HOME/.rvm/gems/ruby-X/ますbundle install。すべての gem を手動で削除した場合、$HOME/.rvm/gems/ruby-X/ディレクトリ内のすべてを削除して実行bundleすると、それらすべてが再インストールされます。

于 2014-02-04T12:25:58.987 に答える
4

私の場合、ディレクトリにGemfileを作成し、バンドルのインストールを行っていましたが、たまたまos xでgemを手動で削除したため、gemを再度インストールできませんでした。

1.宝石一覧 | あなたの宝石名をgrep
 2. your_gem_name をアンインストールします
 3. Gemfile.lock を削除
 4. Gemfile の場所からバンドル インストール
于 2014-07-11T18:46:59.280 に答える