gem install / update失败,“没有将nil隐式转换为String”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gem install / update失败,“没有将nil隐式转换为String”相关的知识,希望对你有一定的参考价值。

使用rvm,无论何时我尝试安装或更新gem(或rubygems),我都会得到同样的错误:

$ 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然而,工作正常。

答案

这是版本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')
另一答案

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

另一答案

手动设置版本:

gem update --system 2.6.6
另一答案

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

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

#brew upgrade ruby

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

以上是关于gem install / update失败,“没有将nil隐式转换为String”的主要内容,如果未能解决你的问题,请参考以下文章

Ruby(bundle install,bundle update)FAILS无法安装gems http_parser.rb,eventmachine

mac 上的 gem install rails 失败错误:无法构建 gem 本机扩展

gem install mysql2 失败

gem install mongrel 使用 ruby​​ 1.9.1 失败

gem install pg --with-pg-config 有效,捆绑失败

gem install 失败并显示“ruby:无效选项 -H(-h 将显示有效选项)(RuntimeError)”