【问题标题】:Installation of Rubygems fails on Ruby 2.0.0 Install on OSX Mavericks在 Ruby 2.0.0 上安装 Rubygems 失败 在 OSX Mavericks 上安装
【发布时间】:2013-12-04 18:35:09
【问题描述】:

我正在尝试安装 ruby​​gems 但收到以下错误:

'$ rvm install ruby
 ......... 
Installing rubygems-2.1.11 for ruby-2.0.0-p353............
Error running 'env GEM_PATH=/Users/Vasenka/.rvm/gems/ruby-2.0.0-p353:/Users/Vasenka/.rvm/gems/ruby-2.0.0-p353@global:/Users/Vasenka/.rvm/gems/ruby-2.0.0-p353:/Users/Vasenka/.rvm/gems/ruby-2.0.0-p353@global GEM_HOME=/Users/Vasenka/.rvm/gems/ruby-2.0.0-p353 /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/bin/ruby -d /Users/Vasenka/.rvm/src/rubygems-2.1.11/setup.rb',
please read /Users/Vasenka/.rvm/log/1386179561_ruby-2.0.0-p353/rubygems.install.log
Installation of rubygems did not complete successfully.
 ........  
Making gemset ruby-2.0.0-p353    
pristine..............
Error running '__rvm_with ruby-2.0.0-p353 /Users/Vasenka/.rvm/scripts/gemsets pristine',

请阅读 /Users/Vasenka/.rvm/log/1386183855_ruby-2.0.0-p353/gemset.pristine-ruby-2.0.0-p353.log

.rvm/log/1386179561_ruby-2.0.0-p353/rubygems.install.log 状态:

[2013-12-04 17:59:26] /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/bin/ruby
current path: /Users/Vasenka/.rvm/src/rubygems-2.1.11
command(6): env GEM_PATH=/Users/Vasenka/.rvm/gems/ruby-2.0.0-p353:/Users/Vasenka/.rvm/gems/ruby-2.0.0-p353@global:/Users/Vasenka/.rvm/gems/ruby-2.0.0-p353:/Users/Vasenka/.rvm/gems/ruby-2.0.0-p353@global GEM_HOME=/Users/Vasenka/.rvm/gems/ruby-2.0.0-p353 /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/bin/ruby -d /Users/Vasenka/.rvm/src/rubygems-2.1.11/setup.rb
Exception `LoadError' at /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems.rb:1087 - cannot load such file -- rubygems/defaults/operating_system
Exception `LoadError' at /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems.rb:1096 - cannot load such file -- rubygems/defaults/ruby/Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/psych.rb:205:in `parse': (<unknown>): mapping values are not allowed in this context at line 2 column 29 (Psych::SyntaxError)
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/psych.rb:205:in `parse_stream'
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/psych.rb:153:in `parse'
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/psych.rb:129:in `load'
from /Users/Vasenka/.rvm/src/rubygems-2.1.11/lib/rubygems/config_file.rb:332:in `load_file'
from /Users/Vasenka/.rvm/src/rubygems-2.1.11/lib/rubygems/config_file.rb:197:in `initialize'
from /Users/Vasenka/.rvm/src/rubygems-2.1.11/lib/rubygems/gem_runner.rb:74:in `new'
from /Users/Vasenka/.rvm/src/rubygems-2.1.11/lib/rubygems/gem_runner.rb:74:in `do_configuration'
from /Users/Vasenka/.rvm/src/rubygems-2.1.11/lib/rubygems/gem_runner.rb:39:in `run'
from setup.rb:45:in `<main>'

命令行开发工具已安装。 Ruby 安装成功。 . .

$ruby -v
ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin13.0.0]

$ gcc -v
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix

但是宝石都是错的:

 $ gem -v
 /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/psych.rb:205:in `parse': (<unknown>): mapping values are not allowed in this context at line 2 column 29 (Psych::SyntaxError)
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/psych.rb:205:in `parse_stream'
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/psych.rb:153:in `parse'
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/psych.rb:129:in `load'
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems/config_file.rb:319:in `load_file'
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems/config_file.rb:192:in `initialize'
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems/gem_runner.rb:66:in `new'
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems/gem_runner.rb:66:in `do_configuration'
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems/gem_runner.rb:46:in `run'
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/bin/gem:21:in `<main>'

试过这个:

$ rvm requirements
Checking requirements for osx.
Certificates in '/usr/local/etc/openssl/cert.pem' already are up to date.
Requirements installation successful.

rvm get stable
Downloading https://get.rvm.io
Downloading https://github.com/wayneeseguin/rvm/archive/stable.tar.gz

Upgrading the RVM installation in /Users/Vasenka/.rvm/
RVM PATH line found in /Users/Vasenka/.bashrc /Users/Vasenka/.zshrc.
RVM sourcing line found in /Users/Vasenka/.bash_profile /Users/Vasenka/.zlogin.
Installing rvm gem in 1 gemsets /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/psych.rb:205:in `parse': (<unknown>): mapping values are not allowed in this context at line 2 column 29 (Psych::SyntaxError)
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/psych.rb:205:in `parse_stream'
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/psych.rb:153:in `parse'
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/psych.rb:129:in `load'
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems/config_file.rb:319:in `load_file'
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems/config_file.rb:192:in `initialize'
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems/gem_runner.rb:66:in `new'
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems/gem_runner.rb:66:in `do_configuration'
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems/gem_runner.rb:46:in `run'
from /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/bin/gem:21:in `<main>'

【问题讨论】:

标签: ruby-on-rails ruby rubygems osx-mavericks


【解决方案1】:

可以试试这个rvm reinstall 2.0.0 --verify-downloads 1

【讨论】:

  • 同样的结果:Error running 'env GEM_PATH=/Users/Vasenka/.rvm/gems/ruby-2.0.0-p353:/Users/Vasenka/.rvm/gems/ruby-2.0.0-p353@global:/Users/Vasenka/.rvm/gems/ruby-2.0.0-p353:/Users/Vasenka/.rvm/gems/ruby-2.0.0-p353@global GEM_HOME=/Users/Vasenka/.rvm/gems/ruby-2.0.0-p353 /Users/Vasenka/.rvm/rubies/ruby-2.0.0-p353/bin/ruby -d /Users/Vasenka/.rvm/src/rubygems-2.1.11/setup.rb' Installation of rubygems did not complete successfully. Making gemset ruby-2.0.0-p353 pristine Error running '__rvm_with ruby-2.0.0-p353 /Users/Vasenka/.rvm/scripts/gemsets pristine'
【解决方案2】:

升级到 Mavericks 后可能存在 libyaml 问题或与 xcode 相关的问题:

$ xcode-select --install # if you upgraded to Mavericks
$ brew update # if using homebrew
$ rvm get head # to get lastest rvm
$ rvm pkg install libyaml
$ rvm pkg install readline
$ rvm reinstall all --force

其他可能是您的 ~/.gemrc 上出现 YAML 解析错误

如果这些都不起作用,请尝试使用 OSX 的 rvm GUI ruby manager(免费)或为您设置 RVM 的 RailsInstaller

【讨论】:

  • 我的~/.gemrc 有以下内容:install: --no-rdoc --no-ri update: --no-rdoc --no-rigem: --no-document gem: --no-document
  • $ brew install libyaml Warning: libyaml-0.1.4 already installed
  • GUI 对损坏的 gemset 没有帮助。
  • 试试xcode-select --install,它将安装可能已被 OSX 更新删除的 xcode 命令工具。然后重试rvm get head 而不是rvm get stable
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-05
  • 2014-01-28
  • 2014-05-09
  • 2014-01-20
  • 2014-11-19
  • 1970-01-01
相关资源
最近更新 更多