我使用以下命令更新了ruby gems:
gem update --system
现在,在运行bundle install
或任何其他gem命令(例如gem -v
/Users/darrenburgess/.rvm/rubies/ruby-2.0.0-p648/lib/ruby/site_ruby/2.0.0/rubygems/specification.rb:17:in `require': cannot load such file -- stringio (LoadError)
我可以使用rvm use system
切换到系统ruby,然后gem
命令似乎可以正常工作,但即使rvm use 2.0.0
输出rvm list
,我也会遇到同样的错误1}}显示=* ruby-2.0.0-p648 [ x86_64 ]
作为当前和默认值。请注意,我可以切换到其他已安装的ruby版本,例如2.4.1
和2.1.2
。
使用系统ruby时,gem
的版本为2.0.14.1
安装的RVM版本为1.29.2(最新版本)。
which -a ruby
的输出
/Users/darrenburgess/.rvm/rubies/ruby-2.0.0-p648/bin/ruby
在/ usr / bin中/红宝石
/Users/darrenburgess/.rbenv/shims/ruby
我检查过的其他类似问题,以确保RVM目录在我的$ PATH变量中是第一个。这条路径排在第一位:
/Users/darrenburgess/.rvm/gems/ruby-2.0.0-p648/bin
不幸的是,我在这里深入knows enough to be dangerous
领域。我相信可能发生的事情是我在已安装的ruby / rubygems / rvm版本之间引入了不兼容性。
此时我需要帮助探索不同的途径。谢谢。
更新:
我根据rvm list
ruby-2.0.0-p481 [ x86_64 ]
=* ruby-2.0.0-p643 [ x86_64 ]
ruby-2.0.0-p648 [ x86_64 ]
我只是切换到使用p643
并修复了问题,因为我没有使用已删除的ruby版本== ruby-2.0.0-p648
所以我想在这一点上我已回避了这个问题,而现在的问题就是ruby-2.0.0-p648
出了什么问题,如何解决?
更多信息:
ruby-2.0.0-p643
正在使用gem
版本2.4.6
ruby-2.0.0-p481
正在使用gem
版本2.2.2
目前最新版本的rubygems是2.6.12
所以我怀疑我将rubygems升级到与ruby 2.0.0不兼容的版本。
答案 0 :(得分:0)
我确实设法解决了这个问题,但我仍然不确定为什么升级rubygems会导致这些问题。
修复是:
rvm remove ruby-2.0.0-p648
rvm install ruby-2.0.0-p648
gem install bundler
bundle install
因此,删除ruby版本似乎删除了所有已安装的gem,也许还删除了我安装的不兼容版本的rubygems。重新安装ruby 2.0.0p648解决了这个问题。