我使用以下命令更新了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。
当使用system ruby时,gem的版本是2.0.14.1
安装的RVM版本为1.29.2 (当前最新版本)。
which -a ruby用户的输出/usr/bin/ruby /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安装了Ruby2.0.0的3个版本
ruby-2.0.0-p481 [ x86_64 ]
=* ruby-2.0.0-p643 [ x86_64 ]
ruby-2.0.0-p648 [ x86_64 ]我只是简单地改用了ruby,这样就解决了这个问题,因为我没有使用p643 == 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当前的最新版本是2.6.12
所以我怀疑我将rubygems升级到了与ruby2.0.0不兼容的版本。
发布于 2017-07-04 23:22:12
我确实设法解决了这个问题,但我仍然不确定为什么升级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解决了这个问题。
https://stackoverflow.com/questions/44907619
复制相似问题