RVM Bundle Install 缺少 Gem 错误

6

我在这个问题上有些困惑。我目前正在尝试在共享主机(Site5)上托管一个Rails3 /Ruby1.9.3 应用程序。他们只提供Ruby的1.8.7版本。所以,我尝试安装RVM,以便我可以使用Ruby 1.9.3。成功安装RVM后,运行'bundle install'时,遇到了以下错误:

错误:Gem bundler未安装,请先运行 gem install bundler

我已经尝试运行过'gem install bundler'。它说已经安装了,但当我再次运行该命令时,同样的错误显示出来。当我使用'bundle -v'时,也会出现这个错误。然而,'which bundle'则显示:

/home/MYUSER/.rvm/bin/bundle

这是'rvm info'的输出:

ruby-1.9.3-p194:

  rvm:
    version:      "rvm 1.13.4 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]"
    updated:      "1 hour 23 minutes 15 seconds ago"

  ruby:
    interpreter:  "ruby"
    version:      "1.9.3p194"
    date:         "2012-04-20"
    platform:     "x86_64-linux"
    patchlevel:   "2012-04-20 revision 35410"
    full_version: "ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]"

  homes:
    gem:          "/home/MYUSER/.rvm/gems/ruby-1.9.3-p194"
    ruby:         "/home/MYUSER/.rvm/rubies/ruby-1.9.3-p194"

  binaries:
    ruby:         "/home/MYUSER/.rvm/rubies/ruby-1.9.3-p194/bin/ruby"
    irb:          "/home/MYUSER/.rvm/rubies/ruby-1.9.3-p194/bin/irb"
    gem:          "/home/MYUSER/.rvm/rubies/ruby-1.9.3-p194/bin/gem"
    rake:         "/home/MYUSER/.rvm/rubies/ruby-1.9.3-p194/bin/rake"

  environment:
    PATH:         "/usr/local/jdk/bin:/home/MYUSER/.rvm/gems/ruby-1.9.3-p194/bin:/home/MYUSER/.rvm/gems/ruby-1.9.3-p194@global/bin:/home/MYUSER/.rvm/rubies/ruby-1.9.3-p194/bin:/home/MYUSER/.rvm/bin:/home/MYUSER/perl5/bin:/usr/kerberos/bin:/usr/lib/courier-imap/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/MYUSER/bin"
    GEM_HOME:     "/home/MYUSER/.rvm/gems/ruby-1.9.3-p194"
    GEM_PATH:     "/home/MYUSER/.rvm/gems/ruby-1.9.3-p194:/home/MYUSER/.rvm/gems/ruby-1.9.3-p194@global"
    MY_RUBY_HOME: "/home/MYUSER/.rvm/rubies/ruby-1.9.3-p194"
    IRBRC:        "/home/MYUSER/.rvm/rubies/ruby-1.9.3-p194/.irbrc"
    RUBYOPT:      ""
    gemset:       ""

我尝试过的方法: 我尝试了这个链接中的建议,但没有奏效。
谢谢。

请提供gem env的输出结果。 - mpapis
请参阅此问题和答案 - Thilo
5个回答

9
gem uninstall bundler && rvm @global do gem install bundler && bundle -v

默认情况下,rvm会将bundler安装到@global gemset中,并将其混合到默认设置中。这个安装似乎有点问题,但如果只是这些命令出了问题,那么这组命令应该可以解决它。您的rvm输出看起来没什么问题。

我刚刚按照链接中的步骤进行了操作。一旦我尝试了你的解决方案,我会在这里报告。 - nmenego
你好。我刚试了这个解决方案。不幸的是,它还是不起作用。我将最后一部分 bundler -v 更改为 bundle -v - nmenego
3
我只需要运行 rvm reload 命令,以便其他人使用时能够正常运行。 - briangonzalez

1

尝试:

rvm all do gem install bundler

这将在当前的 Ruby 中安装 bundler gem。


我不确定这是否是一个选项,但如果我是你,我会设置一个低成本的Heroku账户,并将其推送到那里进行测试。这样做既便宜又可以解决这样的问题。 - Kevin Bedell
谢谢您的建议。但我的客户想要这种类型的部署。顺便说一下,我也在Phusion Passenger上进行部署。 - nmenego
我在site5上遇到了完全相同的问题。 - alexs333

0

如果您也在使用rbenv,那么这个解决方案就适用于您。

$ gem uninstall rbenv
    (many dependencies will be unmet. Simply answer 'y')
$ rbenv rehash
$ gem install rbenv
$ rbenv rehash

0

对于我的设置,将 Apache 运行的用户添加到 rvm 组中即可解决问题。

usermod -a -G rvm www-data

0

如果您执行

npm install -g browserify

命令后,bundler可执行文件似乎没有安装在./bin目录中。

bundle install --binstubs

这看起来像是bundler中的一个BUG!


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