首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >捆绑包安装后,Gems不在本地Gems中

捆绑包安装后,Gems不在本地Gems中
EN

Stack Overflow用户
提问于 2013-07-06 19:12:15
回答 1查看 5.1K关注 0票数 3

新机器。新的rbenv安装。新的rbenv-gemset安装。新的ruby-2.0.0安装。新的rails 4.0.0应用程序。

当我

代码语言:javascript
复制
$ bundle install

从rails应用程序目录中,我得到

代码语言:javascript
复制
Your bundle is complete!
It was installed into ./vendor/bundle

但是,如果我那时

代码语言:javascript
复制
$ gem list

本应安装的gem都没有显示出来。

我跑过了

代码语言:javascript
复制
$ rbenv rehash

为什么会这样呢?

其他信息:

代码语言:javascript
复制
$ which bundle
/usr/local/var/rbenv/shims/bundle
$ rbenv which bundle
/usr/local/var/rbenv/versions/2.0.0-p247/bin/bundle
$ rbenv which ruby
/usr/local/var/rbenv/versions/2.0.0-p247/bin/ruby
$ ruby --version
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.4.0]
$ rbenv gemset active
blog
$ which rails
/usr/local/var/rbenv/shims/rails
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-06 19:23:34

您在此应用程序中的默认设置是安装到vendor/bundle。你可以通过安装gems后出现的It was installed into ./vendor/bundle文本来判断这一点。

Bundler documentation指定您必须传递--system才能在系统位置安装:

代码语言:javascript
复制
--system: Install to the system location ($BUNDLE_PATH or $GEM_HOME) even
          if the bundle was previously installed somewhere else for this
          application

编辑:更多的解释是,当不使用bundle exec时,您的ruby只知道使用--system选项安装的gem。通过运行bundle exec gem list或(正如Casper注意到的) bundle list,您可以从vendor/bundle或您选择的任何路径查看您的gem。现在您可以选择是将gem放在系统位置还是放在应用程序目录中。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17502373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档