rails和gem命令给出错误

时间:2011-06-20 06:19:56

标签: ruby-on-rails-3 rubygems gem

当我在控制台中运行任何特定于rails的命令时,它会给我一个错误。例如,我试过

rails -v然后它给了我错误

/usr/local/lib/ruby/1.9.1/x86_64-linux/rbconfig.rb:194:in `each': rehash occurred during iteration (RuntimeError)
    from /usr/local/lib/ruby/1.9.1/x86_64-linux/rbconfig.rb:194:in `<module:RbConfig>'
    from /usr/local/lib/ruby/1.9.1/x86_64-linux/rbconfig.rb:5:in `<top (required)>'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:31:in `<top (required)>'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from /usr/local/bin/rails:9:in `<main>'

gem命令也是如此。 Ruby工作正常。

请帮助。在此先感谢。

2 个答案:

答案 0 :(得分:0)

不确定这是不是问题,但根据rails网站,他们只支持ruby 1.8.7或1.9.2。 似乎你得到1.9.1。

答案 1 :(得分:0)

错误消息显示当您运行rails时,它正在使用1.9.1。根据Wissam的评论,不确定ruby版本是否存在问题,但您必须确保在运行1.9.2之前再进行故障排除。

您安装了RVM吗?如果是这样,你设置默认的红宝石吗?尝试在提示符下键入“rvm info”。如果您安装了RVM,它将打印出一堆有关您的ruby版本的有用信息。如果你不这样做,它会说命令未找到。如果你有,那么你可以使用“rvm use 1.9.2”选择不同的ruby版本。

如果您没有安装RVM,那么主机上可能手动安装了两个版本,您需要弄清楚rails使用1.9.1的原因。

无论如何,我强烈建议使用RVM。 https://rvm.io