由于心理YAML解析错误,在mac osx上安装任何ruby 1.9.x(使用rbenv)时遇到问题

时间:2012-05-11 15:00:43

标签: ruby macos rbenv psych

我试图安装rvm以便在我的Mac上使用rbenv。一切正常,直到红宝石发挥作用..

使用时

rbenv install 1.9.3-p194

它正确编译它,但之后我想安装bundler ..这会产生以下错误

computer:~ computer$ gem install bundler
/Users/computer/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/psych.rb:203:in `parse': (<unknown>): mapping values are not allowed in this context at line 1 column 34 (Psych::SyntaxError)
    from /Users/computer/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/psych.rb:203:in `parse_stream'
    from /Users/computer/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/psych.rb:151:in `parse'
    from /Users/computer/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/psych.rb:127:in `load'
    from /Users/computer/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/config_file.rb:253:in `load_file'
    from /Users/computer/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/config_file.rb:191:in `initialize'
    from /Users/computer/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/gem_runner.rb:78:in `new'
    from /Users/computer/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/gem_runner.rb:78:in `do_configuration'
    from /Users/computer/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/gem_runner.rb:51:in `run'
    from /Users/computer/.rbenv/versions/1.9.3-p194/bin/gem:21:in `<main>'

然后我尝试安装旧版本的ruby 1.9.3-p125 ..但是,即使是构建也不会完成类似的错误,也依赖于这个心理翻译...... :(

computer-2:~ computer$ rbenv install 1.9.3-p125
Downloading http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz...
Installing yaml-0.1.4...
Installed yaml-0.1.4 to /Users/computer/.rbenv/versions/1.9.3-p125
Downloading http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p125.tar.gz...
Installing ruby-1.9.3-p125...
Installed ruby-1.9.3-p125 to /Users/computer/.rbenv/versions/1.9.3-p125
Downloading http://production.cf.rubygems.org/rubygems/rubygems-1.8.23.tgz...
Installing rubygems-1.8.23...

BUILD FAILED

Inspect or clean up the working tree at /var/folders/_9/tcqlf3c14l78vxtr600l9lqr0000gn/T/ruby-build.20120511162948.58105
Results logged to /var/folders/_9/tcqlf3c14l78vxtr600l9lqr0000gn/T/ruby-build.20120511162948.58105.log

Last 10 log lines:
/Users/computer/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/psych.rb:154:in `parse': (<unknown>): couldn't parse YAML at line 0 column 33 (Psych::SyntaxError)
    from /Users/computer/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/psych.rb:154:in `parse_stream'
    from /Users/computer/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/psych.rb:125:in `parse'
    from /Users/computer/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/psych.rb:112:in `load'
    from /private/var/folders/_9/tcqlf3c14l78vxtr600l9lqr0000gn/T/ruby-build.20120511162948.58105/rubygems-1.8.23/lib/rubygems/config_file.rb:253:in `load_file'
    from /private/var/folders/_9/tcqlf3c14l78vxtr600l9lqr0000gn/T/ruby-build.20120511162948.58105/rubygems-1.8.23/lib/rubygems/config_file.rb:191:in `initialize'
    from /private/var/folders/_9/tcqlf3c14l78vxtr600l9lqr0000gn/T/ruby-build.20120511162948.58105/rubygems-1.8.23/lib/rubygems/gem_runner.rb:78:in `new'
    from /private/var/folders/_9/tcqlf3c14l78vxtr600l9lqr0000gn/T/ruby-build.20120511162948.58105/rubygems-1.8.23/lib/rubygems/gem_runner.rb:78:in `do_configuration'
    from /private/var/folders/_9/tcqlf3c14l78vxtr600l9lqr0000gn/T/ruby-build.20120511162948.58105/rubygems-1.8.23/lib/rubygems/gem_runner.rb:51:in `run'
    from setup.rb:38:in `<main>'
computer-2:~ computer$ 

我无法在网上找到有相同问题的内容,所以我问......

我尝试了那两个没有帮助我的资源,好像rbenv安装程序正在自动执行此操作

Installing libyaml for ruby on a mac osX (Lion)

Fixing the "ruby installation is missing psych" error?

有人有建议吗?提前谢谢..

4 个答案:

答案 0 :(得分:9)

当我的.gemrc或.irbrc中出现YAML语法错误时,我看到过这样的错误。

检查/删除它们,然后重试。

答案 1 :(得分:5)

我们的 .gemrc 中遇到了同样的问题。删除 .gemrc 解决了这个问题。文件开头有-- 2个破折号。 将它们更改为---(3个破折号)并将 .gemrc 保留在原位。然后重新安装1.9.3p392没有任何问题。基本上是一个YAML解析器问题。

完整的 .gemrc

---
gem: --no-ri --no-rdoc

答案 2 :(得分:1)

更改gem.rc文件
install: --no-rdoc --no-ri
update: --no-rdoc --no-rigem: --no-document

install: --no-rdoc --no-ri
update: --no-rdoc --no-ri

答案 3 :(得分:0)

install: --no-rdoc --no-ri
update: --no-rdoc --no-rigem: --no-document

更改为:

install: --no-rdoc --no-ri
update: --no-rdoc --no-ri
gem: --no-document

为了保留更快的宝石安装选项