2

我开始使用一个新项目,它基于 ruby​​ 1.8.7,我正在使用 rvm 来管理我的 ruby​​ 版本,并且我已经安装了 1.8.7 和 1.9.2。

事情是当我这样做时:

rvm use 1.8.7 

并尝试运行:

bundle install

我得到:

ERROR: Gem bundler is not installed, run `gem install bundler` first.

我已经安装了 5 次 bundler,即使之后它说它还没有安装。什么会导致这种情况?Bundle 甚至出现在我的宝石列表中。

从评论更新:

which ruby​​ && which gem 的输出:

/home/username/.rvm/rubies/ruby-1.8.7-p371/bin/ruby
/home/username/.rvm/bin/gem

“env | grep -iE 'ruby|rvm|gem' | sort”的输出:

GEM_HOME=/home/username/.rvm/gems/ruby-1.8.7-p371@global
GEM_PATH=/home/username/.rvm/gems/ruby-1.8.7-p371@global
IRBRC=/home/username/.rvm/rubies/ruby-1.8.7-p371/.irbrc
MY_RUBY_HOME=/home/username/.rvm/rubies/ruby-1.8.7-p371
PATH=/home/username/.rvm/gems/ruby-1.8.7-p371@global/bin:/home/username/.rvm/rubies/ruby-1.8.7-p371/bin:/home/username/.rvm/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
RUBY_VERSION=ruby-1.8.7-p371
rvm_bin_path=/home/username/.rvm/bin
rvm_delete_flag=0
rvm_path=/home/username/.rvm
rvm_prefix=/home/username
rvm_ruby_string=ruby-1.8.7-p371
rvm_sticky_flag=1
rvm_use_flag=1
rvm_version=1.17.7 (stable)

通过 RVM 卸载并安装 1.8.7 运行:

rvm install 1.8.7 --verify-downloads 1

它奏效了。

4

2 回答 2

4

看起来您可能运行了错误版本的gem. 在我的 RVM 设置中,使用 RVM 推荐的 shell 命令覆盖(source "$HOME/.rvm/scripts/rvm"在您.bashrc.zshrc其他合适的启动文件中)gem通常是一个 shell 函数。它在幕后做了一些 RVM 魔术,然后运行真正的gem命令。就我而言,两者都ruby用完gem了相同的版本目录:

/home/jim/.rvm/rubies/ruby-1.9.3-p327/bin/ruby
/home/jim/.rvm/rubies/ruby-1.9.3-p327/bin/gem

确保您正在采购 RVM 启动脚本。

PATH看起来不错。确保你有一个/home/username/.rvm/rubies/ruby-1.8.7-p371/bin/gem命令。如果没有,您可能必须重新安装 ruby​​-1.8.7。

运行rvm current将显示正在使用的 Ruby 版本和 gemset。确保gem路径中有一个与 Ruby 版本匹配的路径。

于 2013-03-15T22:21:16.527 回答
1

rvm 安装 ruby​​-1.9.2-p320

使用它并记住关闭所有终端并在编辑-> 配置文件首选项-> 标题和命令-->> 检查(以登录 shell 运行命令)

于 2014-01-13T13:23:55.883 回答