rails生成脚手架错误 - 使用错误的ruby版本
问题描述:
我在OSX Lion上。 我更新了我的xCode。 我安装了git。 我安装了卷曲。 我安装了rvm。 我使用rvm安装了ruby 1.9.3和rails。rails生成脚手架错误 - 使用错误的ruby版本
我创建了一个新的应用程序。 当我运行轨道产生,我得到以下错误:
$ rails generate
/usr/local/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:86:in `load_specification': private method `specification_version=' called for #<Gem::Specification:0x33a22c> (NoMethodError)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/specification.rb:401:in `initialize'
from (eval):3:in `load_specification'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:121:in `eval'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:86:in `load_specification'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:121:in `load_gems_in'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:120:in `load_gems_in'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:75:in `from_gems_in'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:47:in `from_installed_gems'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:109:in `source_index'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:187:in `activate'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:66:in `active_gem_with_options'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:59:in `require_gem'
from /usr/local/bin/rails:17
现在看来似乎不应该在该目录中寻找,因为它是红宝石1.8。 (也许这是与OSX安装的默认版本?)
任何帮助解决此问题,非常感谢。
答
第一步是启动一个新的shell会话。然后检查实际使用的是哪个版本的红宝石ruby -v
,并且一个rvm表示正在使用。如果两者不同,您可能忘记了,或者对您的.bashrc
/.zshrc
进行了严重配置。
我总是有这样的错误与rvm。我知道很多人对rvm感到满意,但是如果它让你感到困扰,我建议你转到ruby-build/rbenv。自从我几个月前切换以来,从来没有人会遇到过问题,而且从我的角度来看,我的黑魔法更少。
答
可能你还没有告诉RVM使用Ruby 1.9.3 ..
如果您使用RVM我建议建立该项目的.rvmrc文件..
echo 'rvm use [email protected] --create' > ./.rvmrc
然后当你cd
到项目目录RVM会自动选择合适的红宝石:)
但是,如果你想改变你的系统默认的Ruby 1.9.3你也可以这样做:
rvm use 1.9.3 --default
您是否验证过使用的红宝石? 'ruby -v' &&'gem -v' – shingara 2012-02-20 15:44:22