新手问题 求助,按照实战圣经中的步骤配置 ruby 开发环境出错

bendise · 2014年04月16日 · 最后由 bendise 回复于 2014年04月18日 · 4051 次阅读

成功安装了 Homebrew 成功安装了 ruby git sqlite 接下来设置了环境变量 $ export PATH=/usr/local/Cellar/ruby/1.9.3-p327/bin:$PATH

然后在执行 gem 的时候报错了 gem -v 执行错误如下 /usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/psych.rb:203:in parse': (<unknown>): could not find expected ':' while scanning a simple key at line/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rubygems/config_file.rb:191:ininitialize' from /usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rubygems/gem_runner.rb:78:in new' from /usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rubygems/gem_runner.rb:78:indo_configuration' from /usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rubygems/gem_runner.rb:51:in run' from /usr/local/bin/gem:21:in

'

请问这个怎么解决?我已经自己谷歌了,没有找到与我一样的错误

楼主通过什么方式 安装的 ruby 呢?最好通过论坛 wiki 里面介绍的 rvm 或者 rbenv 这种工具来安装比较方便。

#1 楼 @springwq 我用的是 Homebrew 的方式安装,命令是 brew ruby

建议楼主将环境变量还原,然后使用 chruby or rbenv or rvm 安装 Ruby 并管理不同版本的 Ruby。

#3 楼 @lonre 好,我尝试一下,谢谢

这两天一直在做,还是不行 rvm 和 rbenv 都用了,前面都顺利,就是输入 gem 报错 .rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/psych.rb:203:in parse': (<unknown>): could not find expected ':' while scanning a simple key at line 2 column 1 (Psych::SyntaxError) from /Users/zhangbolei/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/psych.rb:203:inparse_stream' from /Users/zhangbolei/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/psych.rb:151:in parse' from /Users/zhangbolei/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/psych.rb:127:inload' from /Users/zhangbolei/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/rubygems/config_file.rb:253:in load_file' from /Users/zhangbolei/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/rubygems/config_file.rb:191:ininitialize' from /Users/zhangbolei/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/rubygems/gem_runner.rb:78:in new' from /Users/zhangbolei/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/rubygems/gem_runner.rb:78:indo_configuration' from /Users/zhangbolei/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/rubygems/gem_runner.rb:51:in run' from /Users/zhangbolei/.rbenv/versions/1.9.3-p327/bin/gem:21:in

'

#5 楼 @bendise 把错误信息格式化一下吧,看不清

localhost:~ zhangbolei$ gem update --system
/Users/zhangbolei/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/psych.rb:203:in `parse': (<unknown>): could not find expected ':' while scanning a simple key at line 2 column 1 (Psych::SyntaxError)
    from /Users/zhangbolei/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/psych.rb:203:in `parse_stream'
    from /Users/zhangbolei/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/psych.rb:151:in `parse'
    from /Users/zhangbolei/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/psych.rb:127:in `load'
    from /Users/zhangbolei/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/rubygems/config_file.rb:253:in `load_file'
    from /Users/zhangbolei/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/rubygems/config_file.rb:191:in `initialize'
    from /Users/zhangbolei/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/rubygems/gem_runner.rb:78:in `new'
    from /Users/zhangbolei/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/rubygems/gem_runner.rb:78:in `do_configuration'
    from /Users/zhangbolei/.rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/rubygems/gem_runner.rb:51:in `run'
    from /Users/zhangbolei/.rbenv/versions/1.9.3-p327/bin/gem:21:in `<main>'

嗯,这样能看到吗?

#7 楼 @bendise 好奇怪的信息,而且和你之前的似乎一样。 用户目录下有这个.gemrc文件么? cat ~/.gemrc 看一下

#8 楼 @lonre

localhost:~ zhangbolei$ cat ~/.gemrc
gem: --no-rdoc --no-ri
gem --no-rdoc --no-ri

结果

#9 楼 @bendise 囧,问题就出现在这了应该,把最后一行注释了~

哇噻,好了可以了,这是什么原因呢?

#11 楼 @bendise 额,错误很显然的呢。你再瞧瞧?

#12 楼 @lonre could not find expected ':' 但是没提示是那个文件,我顺着也没找到,而且 gemrc 文件是从哪里生成的?为什么会出现错误的一行数据?

#13 楼 @bendise 这个文件似乎一般不自动生成,也许只有你知道了。我是看到 config_file.rb 猜测的

#14 楼 @lonre 好的,谢谢了,困扰了好几天,终于解决了

需要 登录 后方可回复, 如果你还没有账号请 注册新账号