为什么命令`gem list`不包含用bundler's安装的gems:git选项?

use*_*363 12 ruby git gem bundler

在我们的rails 3.2中Gemfile,安装了一些带有:git指向repo的选项的gem github,例如:

gem 'ruote', :git => 'http://github.com/jmettraux/ruote.git'
Run Code Online (Sandbox Code Playgroud)

之后bundle install,我们输入gem list列出所有安装的宝石.但是gem list没有ruote列为安装的宝石.事实上,根本没有ruote列出.我们注意到所有engines使用:git指向github上的repo的选项安装的rails也会发生同样的事情.为什么宝石列表没有列出所有安装的宝石?我们怎样才能确保ruote正确安装?

Mos*_*atz 20

根据Bundler文档,来自git源的gems不会显示,gem list因为gem命令无法处理它们,因此Bundler必须自己完成所有工作.Bundler将这些宝石存储在自己的位置.(请注意,此位置与当前项目无关.~/.bundler/...默认情况下处于此状态.)

如果bundle install完成且没有错误,您可以看到它已安装.您还可以使用bundle show以查看Bundler为您设置的宝石列表.

  • @refaelos 使用“bundle exec”运行您的应用程序,然后一个简单的“require”就足够了。 (2认同)