捆绑安装失败但gem安装成功

时间:2014-12-21 19:30:12

标签: ruby gem bundler bundle-install

我经常看到bundle install将尝试构建一个gem但gem install从远程存储库中获取相同的gem。我以为bundler也会尝试获取宝石。有人可以解释这个区别吗?例如,如果我的Gemfile列出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将获取所有远程源,解析   依赖并安装所有需要的宝石。

为什么bundle install决定构建gem而gem install只是安装它?此外,它可能为某些版本构建,但只是为同一个宝石的其他版本安装它?例如,thrift-0.9.0.1.patched已构建,但thrift-0.9.2.0已安装在我的计算机上。为什么不同?

0 个答案:

没有答案