为什么Bundler无法正确安装存储在Git仓库中的gem?

3

Bundler版本1.0.0.beta.2

Rvm信息

system:
  uname:        "Linux dane-r1f-ubuntu 2.6.32-22-generic #33-Ubuntu SMP Wed Apr 28 13:27:30 UTC 2010 i686 GNU/Linux"
  shell:        "bash"
  version:      "4.1.5(1)-release"

rvm:
  type:         "rvm is a function"
  version:      "rvm 0.1.31 by Wayne E. Seguin (wayneeseguin@gmail.com) [http://rvm.beginrescueend.com/]"

ruby:
  interpreter:  "ruby"
  version:      "1.9.2dev"
  date:         "2010-05-31"
  platform:     "i686-linux"
  patchlevel:   "2010-05-31 revision 28117"
  full_version: "ruby 1.9.2dev (2010-05-31 revision 28117) [i686-linux]"

homes:
  gem:          "/home/dane/.rvm/gems/ruby-1.9.2-preview3@mmm"
  ruby:         "/home/dane/.rvm/rubies/ruby-1.9.2-preview3"

binaries:
  ruby:         "/home/dane/.rvm/rubies/ruby-1.9.2-preview3/bin/ruby"
  irb:          "/home/dane/.rvm/rubies/ruby-1.9.2-preview3/bin/irb"
  gem:          "/home/dane/.rvm/rubies/ruby-1.9.2-preview3/bin/gem"
  rake:         "/home/dane/.rvm/gems/ruby-1.9.2-preview3@mmm/bin/rake"

environment:
  GEM_HOME:     "/home/dane/.rvm/gems/ruby-1.9.2-preview3@mmm"
  GEM_PATH:     "/home/dane/.rvm/gems/ruby-1.9.2-preview3@mmm:/home/dane/.rvm/gems/ruby-1.9.2-preview3@global"
  BUNDLE_PATH:  "/home/dane/.rvm/gems/ruby-1.9.2-preview3@mmm"
  MY_RUBY_HOME: "/home/dane/.rvm/rubies/ruby-1.9.2-preview3"
  IRBRC:        "/home/dane/.rvm/rubies/ruby-1.9.2-preview3/.irbrc"
  RUBYOPT:      ""
  gemset:       "mmm"

bundle install 在我的 Gemfile 中似乎没有安装任何来自 git 的 gem。尽管 bundler 表示已成功下载和使用了 repo,但 gem list 却不同意。对于这个设置有什么问题的想法吗?

1个回答

5
Bundler会将gem安装到自己的~/.rvm/gems/ruby-{version}/bundler/gems目录中。这与主要的gems目录是独立的,因此gem list命令无法列出它们,但bundle list命令可以。

1
根据Yehuda Katz的这篇文章:“在0.9版本中,我们通过将Bundler安装的gem放置到BUNDLE_PATH中来解决了这个问题,默认情况下为~/.bundle/#{RUBY_ENGINE}/#{RUBY_VERSION}。rvm不会将可执行文件或gem安装到root拥有的路径中,它会将BUNDLE_PATH设置为与GEM_HOME相同的位置。这意味着当使用rvm时,通过bundle install安装的gems会出现在gem列表中。” - asymmetric
嗨,BUNDLE_PATH 应该在哪里设置? - coolesting

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接