【问题标题】:rvm and rubygems issues after upgrading rubygems升级 ruby​​gems 后的 rvm 和 ruby​​gems 问题
【发布时间】: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.12.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

所以我怀疑我将 ruby​​gems 升级到了与 ruby​​ 2.0.0 不兼容的版本。

【问题讨论】:

    标签: ruby rubygems rvm


    【解决方案1】:

    我确实设法解决了这个问题,但我仍然不确定为什么升级 ruby​​gems 会导致这些问题。

    修复是:

    rvm remove ruby-2.0.0-p648
    rvm install ruby-2.0.0-p648
    gem install bundler
    bundle install
    

    因此,删除 ruby​​ 版本似乎会删除所有已安装的 gem,也许还会删除我安装的 ruby​​gems 的不兼容版本。重新安装 ruby​​ 2.0.0p648 解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-31
      • 2013-11-21
      • 1970-01-01
      • 2012-09-16
      • 1970-01-01
      相关资源
      最近更新 更多