2013-09-16 8 views
0
~ $ ruby -v 
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.4.0] 
~ $ which ruby 
/usr/local/bin/ruby 
~ $ rails -v 

    Rails 4 prefers to run on Ruby 2.0. 

    You're running 
     ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0] 

    Please upgrade to Ruby 1.9.3 or newer to continue. 

~ $ cat $(which rails) | head -1 
#!/usr/bin/ruby 
~ $ /usr/bin/ruby -v 
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0] 
~ $ 

Как вы можете видеть, Rails не поднимает версию Ruby по умолчанию, которая равна 2.0.Rails не собирает стандартную версию Ruby?

Можно ли изменить первую строку Rails на #!/usr/local/bin/ruby?

+0

Вы используете rvm –

+0

@SabyasachiGhosh Да, я использую rvm – emaillenin

+0

Я предполагаю, что у вас есть несколько наборов драгоценных камней и рубиновой версии, установленных в вашей системе. либо установите параметр rvm default, либо используйте rvm для использования ruby_version. некоторое время он не будет загружать стандартную рубиновую версию для вашей системы. –

ответ

2

В папке проекта добавьте файл .ruby-version, содержащий строку, представляющую предпочтительную версию Ruby. Например

2.0.0 

Это гарантирует, что РВМ переключится на эту версию Ruby, как только вы cd в эту папку.

Практически все популярные менеджеры версий рубинов: rvm, chruby, rbenv честь .ruby-version файл.

В качестве альтернативы, вы можете также указать версию Ruby, добавив следующую строку в Gemfile:

ruby '2.0.0' 
1

это хорошо, чтобы изменить первую строку рельсов #/USR/местные/бен/Рубин?

Номер Лучший способ использует rbenv (https://github.com/sstephenson/rbenv) или RVM (https://rvm.io/).

Также вы можете удалить/usr/bin/ruby ​​и создать символическую ссылку из/usr/local/bin/ruby ​​(ln -s /usr/local/bin/ruby /usr/bin/ruby). Но, скорее всего, у вас появятся проблемы с драгоценными камнями.

+2

Удаление '/ usr/bin/ruby' и замена его символической ссылкой - плохое решение; Скорее всего, это разные версии, которые разбивают все вспомогательные приложения, которые поставляются вместе с Ruby, и любые драгоценные камни, которые ожидают эту конкретную версию. Это проблема, которая может быть исправлена ​​путем правильного использования rbenv или rvm. –

+0

Я и написал :) –

+0

Тогда, если вы понимаете, что совет не подходит или уместен, возможно, вам следует вынуть предложение об удалении/usr/bin/ruby ​​и заменить его. Короткий «возможно» предупреждение заставляет его звучать так, как будто у него есть небольшие проблемы, но есть большая вероятность этого. –

Смежные вопросы