我正在尝试安装Compass和Jekyll,但gem命令失败:
$ gem update
/usr/lib/ruby/1.9.1/psych.rb:154:in `parse': (<unknown>): couldn't parse YAML at line 2 column 0 (Psych::SyntaxError)
从谷歌搜索,我看到Ruby已经更新了它的YAML解析器,并且宝石需要更新他们的config/boot.rb
文件,但这对我没有帮助,除非我分叉我安装的每个宝石。
这是我的.gemrc,这是我唯一可以搞砸的地方:
gemhome: /home/dan/.gems
gempath:
- /home/dan/.gems
Ruby版本:ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
,在Ubuntu上使用apt-get安装。
开始安装红宝石宝石我该怎么办?我对ruby几乎一无所知,我只想安装一些以宝石形式发布的软件。
更新
查看我的问题,我发现错误消息中的ruby版本和ruby --version
不同。 ruby命令和gem命令如何决定使用哪个版本?它们不同是否重要? 更新:我现在只有ruby 1.9.3。问题必须出在我的.gemrc
更新
删除我的.gemrc并以root身份安装。我的.gemrc有什么问题?
答案 0 :(得分:1)
Yaml语法有效。 (见http://yamllint.com/)。
然而,问题在于变量名称gemhome
和gempath
- 它们应该是GEM_PATH
和GEM_HOME
。
有关详细信息,请参阅What's the difference between GEM_HOME and GEM_PATH?。
您可以在删除.gemrc文件之前和之后输入gem env
,您应该会看到gem路径的差异。
由于您的GEM_PATH / GEM_HOME不需要从默认值更改,因此您的情况下不需要gem配置文件...
答案 1 :(得分:0)
要在主目录下安装gem,请使用--user-install
参数:
gem install <gem> --user-install
在ruby gem FAQ中提及。 similar question建议使用RVM来管理宝石。它在家庭目录下安装宝石。