我在现有的Rails 3应用程序上运行“bundle install”,它在供应商/缓存中有宝石(我猜它们之前通过“bundle package”打包)和有效的Gemfile和Gemfile.lock文件。
我看到的是,它在我的家庭目录中创建了一个文件夹.bundle。
我也在使用RVM。当我尝试“gem list”时,我没有看到安装了vendor / cache的任何gem。
我做错了吗?捆绑文章说到处,执行“bundle”或“bundle install”以在Gemfile和Gemfile.lock文件中安装gem。该问题是否与RVM使用有关?
感谢您的任何建议。
答案 0 :(得分:4)
如果你给bundle install
提出一个参数,它将继续在这个目录中安装gems,即使你rm -rf
该目录并从头开始使用纯bundle install
,如上所述在埃米尔的评论中。这个新目录默认由bundler采用,它甚至取代您在.rvmrc
文件中声明的内容。
要删除此约束,只需编辑.bundle/config
文件并删除声明BUNDLE_PATH
的文件,例如
BUNDLE_PATH: /usr/local/lib/
答案 1 :(得分:3)
查看rvm env gemdir
,同样根据gemset检查.rvmrc
中设置的内容。做bundle install
它应该得到所有的宝石。
通过.bundle
检查$ cat .bundle
以查看其内容,然后检查是否将宝石复制到vendor/ruby
。只有在提供bundle install --path vendor/ruby
(Ref)的情况下才会出现这种情况。