2016-06-23 42 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

相關問題