Какая команда позволяет rvm использовать gemset по умолчанию (например, глобальный) для каждого нового приложения rails, которое я создаю? - PullRequest
3 голосов
/ 21 ноября 2011

Я установил rvm после установки Mac OS Lion.Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я пытаюсь запустить новое приложение Rails, оно выдает мне следующую ошибку:

Проблема решается, когда выбирается конкретный rvm.$ rvm gemset use global

Я знаю об использовании файла .rvmrc для каждого проекта.Но я не хочу продолжать использовать эту команду каждый раз, когда создаю демонстрационный проект.Почему rvm не использует «глобальный» gemset автоматически каждый раз, когда я создаю новый проект?

Я использовал эту документацию для установки rvm.

JP:demo3 jayparteek$ rails s
/Users/jayparteek/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands/server.rb:3:in `require': no such file to load -- action_dispatch (LoadError)
    from /Users/jayparteek/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands/server.rb:3:in `<top (required)>'
    from /Users/jayparteek/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands.rb:48:in `require'
    from /Users/jayparteek/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands.rb:48:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

Ответы [ 2 ]

7 голосов
/ 21 ноября 2011

Вы можете указать набор гемов по умолчанию для данного интерпретатора ruby, выполнив:

rvm use ruby-1.9.2-p0@gemsetname --default

См .: http://beginrescueend.com/gemsets/using/ и http://beginrescueend.com/gemsets/basics/

это, вероятно,Лучшая идея использовать определенный набор гемов для каждого из ваших проектов, вместе с его конкретным Gemfile.Проблемы могут возникнуть, если вам требуется '> = xyz' в ваших Gemfiles, и вы делаете bundle update в одном проекте, но не в другом ...

cd ProjectA
rvm gemset create projecta
rvm gemset use projecta

cd ProjectB
rvm gemset create projectb
rvm gemset use projectb

Таким образом, хотя вы обновляетедрагоценные камни в ProjectA через bundle update до последних и самых больших, они все еще не модифицируются для ProjectB - исключая возможность вмешательства между проектами.


Вы также можете добавить файл .rvmrc вкаталог, например, каталог вашего проекта.Затем RVM будет использовать ruby-версию и набор гемов, перечисленные в файле .rvmrc, в качестве значения по умолчанию для всех подкаталогов.

, например, при условии, что у вас установлен ruby ​​1.9.3 и установлен гем "rails_3.2 "для этой рубиновой версии:

# cat .rvmrc
rvm use ruby-1.9.3-p0@rails_3.2
0 голосов
/ 17 марта 2014

Вы можете сделать gemset по умолчанию, используя следующую команду

rvm --default gemset use <gemsetname> 

или

rvm gemset use <gemsetname> --default 

Например, если у вас есть rails4 gemset, вы можете установить его по умолчанию

rvm --default gemset use rails4

или

rvm gemset use rails4 --default
...