1

bundle installgem をビルドしようとしてもgem install、リモート リポジトリから同じ gem を取得することがよくあります。bundler私も宝石を取りに行こうと思いました。誰でも違いを説明できますか?たとえば、 my Gemfilelistsが次のエラー libv8で失敗した場合:bundle install

Gem::Ext::BuildError: ERROR: Failed to build gem native extension. 
....
An error occurred while installing libv8 (3.16.14.3), and Bundler cannot continue.
Make sure that `gem install libv8 -v '3.16.14.3'` succeeds before bundling.

しかし、gem installそれを取得するだけで成功します。man bundle-installこれは言うべきです:

bundle install を初めて実行する場合 (および Gemfile.lock が存在しない場合)、bundler はすべてのリモート ソースを取得し、依存関係を解決して、必要なすべての gem をインストールします。

gem をインストールするだけなのにbundle install、gem をビルドすることに決めたのはなぜですか? gem installまた、一部のバージョン用にビルドすることもできますが、同じ宝石の他のバージョン用にインストールするだけですか? たとえば、thrift-0.9.0.1.patchedビルドされていthrift-0.9.2.0ますが、私のマシンにインストールされています。違いはなぜですか?

4

0 に答える 0