【问题标题】:gem install/update fails with "no implicit conversion of nil into String"gem 安装/更新失败,“没有将 nil 隐式转换为字符串”
【发布时间】:2016-06-23 04:25:08
【问题描述】:

使用 rvm,每当我尝试安装或更新 gem(或 ruby​​gems)时,我都会收到相同的错误:

$ gem update --system
Updating rubygems-update
Fetching: rubygems-update-2.6.6.gem (100%)
ERROR:  While executing gem ... (TypeError)
    no implicit conversion of nil into String

但是,我的系统 ruby​​ 工作正常。

【问题讨论】:

  • 没有足够的数据来提出任何建议。请至少发布整个错误消息(并尝试gem install rubygems-update 并在此处发布结果。)
  • 这是整个错误信息。下一行是终端提示符。 gem install rubygems-update 有同样的错误。
  • 试试which gemwhich ruby 看看结果。如果您的分发包安装了系统 Ruby,也许您正在尝试更新它,但这是行不通的。
  • $which gem > /Users/davbeck/.rvm/rubies/ruby-2.2.1/bin/gem$which ruby > /Users/davbeck/.rvm/rubies/ruby-2.2.1/bin/ruby。我在所有 rvm 版本上都遇到了这个问题,但不是系统 ruby​​ (OS X 10.11.5)
  • 毕竟,我建议你 rm -rf ~/.rvm 并从 rvm.io 从头开始​​重新安装所有内容

标签: ruby rubygems rvm


【解决方案1】:

这是 2.5.x 版 ruby​​ gem 安装程序中的一个错误。修补文件installer.rb(在我的机器上的/usr/local/lib/ruby/2.3.0/rubygems/installer.rb)如下:

替换:

if ruby_executable then
      question << existing

与:

if ruby_executable then
      question << (existing || 'an unknown executable')

【讨论】:

  • 为我工作,a,在使用 sudo gem --debug update --system 之后,我在我的 High Sierra Mac 上找到了 installer.rb 的位置:/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/installer.rb
【解决方案2】:

sudo dnf -y remove ruby\* sudo find /usr -name "*ruby*" -exec rm -fr {} \; sudo dnf install -y ruby sudo gem update --system

对我有用,可能是 rubygems 目录删除 failed

PS:我在 fedora 上,但这应该可以在 ubuntu / debian 上使用 apt-get 而不是 dnf

【讨论】:

  • 我在ubuntu 上使用了这个方法,它的工作!准确的说,只删除/usr/local中的文件就够了。
  • 适用于 cygwin(用 setup-x86.exe 替换通过 dnf 删除/安装)
【解决方案3】:

手动设置版本:

gem update --system 2.6.6

【讨论】:

  • 这对地球有什么帮助?
  • 所有的 Google 结果都推荐这个,但是我尝试的每个版本,包括这个版本,都会给我同样的错误信息。
  • 因此,尝试使用以下命令删除您的 ruby​​ 版本:rvm remove 2.2.1 --archive --gems
【解决方案4】:

我在尝试安装 xcodeproj 时遇到了同样的问题。我无法使用 gem update 解决它(我得到了同样的错误)。

我通过将 ruby​​ 从 2.4.0 升级到 2.5.0_2 解决了这个问题

#brew upgrade ruby

ruby 升级 gem 从版本 2.5.2 更新到版本 2.7.6 之后

【讨论】:

    猜你喜欢
    • 2016-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多