【发布时间】:2017-07-04 23:22:12
【问题描述】:
我使用以下命令更新了 ruby gem:
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 的输出显示=* 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,我安装了 3 个 Ruby 2.0.0 版本
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 不兼容的版本。
【问题讨论】: