我有一个新的项目,它是基于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甚至出现在我的gem列表中。
update from comments:
哪个ruby的输出&&
/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
看起来您可能正在运行错误的gem
版本。在我的RVM设置中,使用shell命令覆盖推荐的RVM (.bashrc
或.zshrc
或其他合适的启动文件中的source "$HOME/.rvm/scripts/rvm"
), 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。确保路径中有一个与Ruby版本匹配的gem
。
rvm install ruby-1.9.2-p320
使用这个,记住关闭所有终端并且在edit-> profile preferences-> title和command ->>检查(运行命令作为登录shell)