2016-06-23 43 views
3

使用RVM,任何时候我尝试安装或更新宝石(或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 

我的系统红宝石,但是,工作正常。

+0

没有足够的数据来建议任何事情。请至少发布整个错误消息(并尝试'gem install ruby​​gems-update'并在此处发布结果。) – mudasobwa

+0

这是整个错误消息。下一行是终端提示符。 'gem install ruby​​gems-update'有同样的错误。 –

+0

尝试'哪个宝石'和'哪个宝贝',看看结果。如果您的分发包安装了系统Ruby,那么您可能正在尝试更新它,而这是行不通的。 –

回答

0

设置手动版本:

gem update --system 2.6.6 
+1

如何在地球上提供帮助? – mudasobwa

+1

所有的Google结果都会推荐这个功能,但是我尝试的每个版本(包括这一个)都会给我提供相同的错误消息。 –

+0

因此,尝试删除您的ruby版本使用: rvm删除2.2.1 --archive --gems – augustocbx

3

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

+0

我在'ubuntu'上使用这种方法,它的工作!确切地说,只有在'/ usr/local'中删除文件就足够了。 – neizod

+0

为cygwin工作(用setup-x86.exe替换删除/通过dnf安装) – meesern

12

这是版本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') 
+1

为我工作.. – Bijan

+0

谢谢!它的工作原理 –

+0

在使用'sudo gem --debug update --system'后为我工作,我在我的High Sierra Mac上找到installer.rb的地方: '''/ System/Library/Frameworks/Ruby。框架/版本/ 2.3/usr/lib中/红宝石/ 2.3。0 /的rubygems/installer.rb''' –

0

我试图安装xcodeproj时遇到了同样的问题。我无法通过使用宝石更新解决它(我得到了同样的错误)。

我解决它从2.4.0版本升级红宝石2.5.0_2

#brew upgrade ruby 

红宝石升级宝石进行了更新,从2.5.2版本的升级后2.7.6

相关问题