Ruby Can';t安装或更新gems:YAML解析错误
我正在尝试安装Compass和Jekyll,但gem命令失败:Ruby Can';t安装或更新gems:YAML解析错误,ruby,gem,Ruby,Gem,我正在尝试安装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版本:Ruby 1.8.7(2011-06-30 patchlevel 352)[x86\u 64-linux],使用apt get on Ubuntu
$ 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版本:Ruby 1.8.7(2011-06-30 patchlevel 352)[x86\u 64-linux]
,使用apt get on Ubuntu安装
开始安装ruby gems需要做什么?我对ruby几乎一无所知,我只想安装一些作为gems分发的软件
更新
看看我的问题,我发现错误消息中的ruby版本和ruby--version是不同的。ruby命令和gem命令如何决定使用哪个版本?他们的不同有关系吗更新:我现在只有ruby 1.9.3。问题一定是我的.gemrc
更新
删除my.gemrc并作为root works安装。my.gemrc有什么问题?Yaml语法是有效的。(见附件)
然而,问题在于变量名gemhome
和gempath
——它们应该是GEM\u PATH
和GEM\u HOME
有关更多信息,请参阅
您可以在删除.gemrc文件之前和之后键入gem env
,您应该会在gem路径中看到差异
gem配置文件在您的情况下并不真正需要,因为您的gem\u路径/gem\u主目录不需要更改为默认值…要在主目录下安装gem,请使用
--user install
参数:
gem install <gem> --user-install
gem安装--用户安装
在报告中提到。建议使用来管理宝石。它会在home目录下安装gems。使用ruby-1.8.7有什么特别的原因吗?它于去年6月退役。可能尝试安装一个较新的Ruby,例如使用RVM或chruby。它必须是以前使用apt get安装的。现在我已经安装了ruby1.9.1包,我将卸载它。更新re:是的,这很重要。您可以看到与
gem env
一起使用的路径,但是,通常是Linux发行版处理同时安装的不同Ruby版本之间的切换。我都是Gentoo,所以在这方面我帮不了你,但是你可能想寻找像ruby18
,gem18
,ruby19
和gem19
这样的二进制文件。可能您的ruby
和gem
二进制文件只是符号链接。我卸载了ruby包,所以现在ruby1.9.1是唯一安装的ruby包。但是,ruby--version
是ruby 1.9.3p0
。也许我应该找一个PPA来安装ruby 1.9.3。通往ruby的符号链接路径似乎很复杂:'/usr/bin/ruby->/etc/alternations/ruby->/usr/bin/ruby1.9.1`。我将卸载所有的rubies并从PPA中获取1.9.3。我再次删除了.gemrc
,这就解决了这个问题.gemrc
是yaml,可能有语法错误?使用GEM_HOME
和GEM_PATH
不会更改GEM安装目录,但这两个变量确实显示在GEM env
中。我看到/home/dan/.gem
是默认的gem主路径之一,所以您是对的,我根本不需要.gemrc
。我试图让gems安装在我的主目录下,这样我就不必是root用户来管理它们,但这是另一个问题的主题。GEM\u HOME
不是更改GEM安装路径的正确方法吗?GEM install--user install
执行我想要的操作。不需要.gemrc
。
gem install <gem> --user-install