rails генерирует ошибку скаффолда - используется неправильная версия ruby - PullRequest
0 голосов
/ 20 февраля 2012

Я на OSX Lion. Я обновил свой xCode. Я установил Git. Я установил локон. Я установил RVM. Я установил ruby ​​1.9.3 и рельсы, используя rvm.

Я создал новое приложение. Когда я запускаю rails generate, я получаю следующую ошибку:

$ 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

Похоже, что он не должен смотреть на этот каталог, так как это ruby ​​1.8. (Может быть, это версия по умолчанию, установленная с OSX?)

Любая помощь, чтобы исправить это очень ценится.

Ответы [ 2 ]

0 голосов
/ 20 февраля 2012

Скорее всего, вы не сказали RVM использовать ruby ​​1.9.3 ..

Если вы используете RVM, я бы порекомендовал создать файл .rvmrc для проекта.

echo 'rvm use 1.9.3@your-project-gemset --create' > ./.rvmrc

Тогда, когда вы cd войдете в директорию проекта, RVM автоматически подберет нужный рубин:)

Однако, если вы хотите изменить ruby ​​по умолчанию для вашей системы на 1.9.3, вы можете сделать это тоже:

rvm use 1.9.3 --default

0 голосов
/ 20 февраля 2012

Первый шаг - начать новый сеанс оболочки.Затем проверьте, какая версия ruby ​​действительно используется ruby -v, и та, что говорит rvm, используется.Если они разные, вы, вероятно, забыли или неправильно настроили ваш .bashrc / .zshrc.

У меня всегда были подобные ошибки с rvm.Я знаю, что многие люди довольны rvm, но если он не дает вам покоя, я предлагаю перейти на ruby-build / rbenv .Никогда не было ни одной проблемы с тех пор, как я сменил несколько месяцев назад, и в моем понимании меньше черной магии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...