无法使用Ruby 2.0.0安装RubyGems。

8
我尝试安装RubyGems已经几个小时了,但总是失败。错误信息如下:

Installing rubygems-2.0.3 for ruby-2.0.0-p0..............................................................................................................................
Error running 'env GEM_PATH=/Users/Chris/.rvm/gems/ruby-2.0.0-p0:/Users/Chris/.rvm/gems/ruby-2.0.0-p0@global:/Users/Chris/.rvm/gems/ruby-2.0.0-p0:/Users/Chris/.rvm/gems/ruby-2.0.0-p0@global 
GEM_HOME=/Users/Chris/.rvm/gems/ruby-2.0.0-p0 /Users/Chris/.rvm/rubies/ruby-2.0.0-p0/bin/ruby -d /Users/Chris/.rvm/src/rubygems-2.0.3/setup.rb --verbose',
please read /Users/Chris/.rvm/log/ruby-2.0.0-p0/rubygems.install.log

抱歉如果这段话不太容易阅读,我不确定该如何分开。

rubygems.install.log:

前几行:

[2013-03-21 06:55:13] /Users/Chris/.rvm/rubies/ruby-2.0.0-p0/bin/ruby
Exception `LoadError' at /Users/Chris/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/rubygems.rb:1073 - cannot load such file -- rubygems/defaults/operating_system
Exception `LoadError' at /Users/Chris/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/rubygems.rb:1082 - cannot load such file -- rubygems/defaults/ruby
mkdir -p /Users/Chris/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0
mkdir -p /Users/Chris/.rvm/rubies/ruby-2.0.0-p0/bin

完整文件: Pastebin

我尝试重新安装Xcode,确保已安装Xcode命令行工具、Rvm、Ruby 2.0.0等等。我也试过删除所有其他的ruby版本,而rvm要求也没有告诉我需要任何我没有的东西。

有人知道是什么原因导致这个问题吗?

编辑:另外,我刚刚成功地重新安装了1.9.3和rubygems 1.9.3。

编辑2:好的,现在我收到了错误信息:

/Users/Chris/.rvm/src/rubygems-2.0.0/lib/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- zlib (LoadError)

在日志中。

编辑3:运行了rvm requirements,没有我没有的东西。尝试安装zlib时,configure和make都会给出错误。

Configure:

unknown option: --disable-shared

制造:

make: *** No rule to make target `install'.  Stop.

尝试手动配置和编译(不使用禁用共享标志)可以解决配置问题,但会留下编译问题。

第四次编辑:

经过多次尝试,突然间它就奏效了。我决定最后再试一次rvm,结果一切正常。我想分享一下我做了什么,但实际上我也不清楚。


1
你试过 gem update --system 安装最新的 rubygems-update 吗? - Mansoor Elahi
是的。回应:错误:加载命令:更新(LoadError) 无法加载此文件 - zlib错误:执行gem时...(NoMethodError) 未定义方法“invoke_with_build_args”用于nil:NilClass - CSturgess
如果您缺少某些东西,运行rvm requirements。我认为您缺少zlib pkg,您可以通过rvm pkg install zlib进行安装,然后需要重新安装ruby。 - Mansoor Elahi
尝试了那个,安装zlib时出现错误,详见主帖。 - CSturgess
4个回答

1
我尝试过。
$ rvm remove 2.0.0 # get rid of unsuccessful installation
$ rvm get head --autolibs=3 # get the latest RVM and build required libs
$ rvm requirements # just in case, install all other required stuff
$ rvm install ruby-2.0.0

但是它没有起作用。Ruby 2.0.0似乎已经成功安装。

我打开一个新的终端,然后

rvm use 2.0.0
rvm rubygems latest 

它运作正常。希望能对你有所帮助。


1
我认为在安装Ruby类型时,您缺少了一些库。
rvm requirements

查看你缺少哪些库并安装它们,特别是安装zlib包,并重新安装ruby。

rvm pkg install zlib
rvm reinstall ruby

我正在使用Ubuntu,因此可以像这样安装库:
sudo apt-get install zlib1g-dev
rvm reinstall ruby

尝试过了,试图安装zlib时出现错误,详细信息请参见主贴。 - CSturgess
我尝试了这个和Leo Correa的解决方案。然后我又遇到了另一个错误,这个错误在这里得到了解决,但是那个解决方案对我也不起作用:https://dev59.com/_mUp5IYBdhLWcg3wrI3T - user3042747

1

请参考这个问题使用RVM安装ruby-2.X时遇到的问题

基本上就是这样。

$ rvm remove 2.0.0 # get rid of unsuccessful installation
$ rvm get head --autolibs=3 # get the latest RVM and build required libs
$ rvm requirements # just in case, install all other required stuff
$ rvm install ruby-2.0.0

0

当你使用ruby -d运行时,这是预期的输出。它没有任何问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接