Подтвердить что ты не робот

Вы проверяете свой файл rvmrc?

Ruby Version Manager позволяет нам использовать файл .rvmrc в каждом проекте, чтобы настроить загрузку рубиновой версии и набора драгоценных камней. Должен ли этот файл быть установлен в исходное управление? Или это слишком много говорит о рабочей среде других разработчиков?

4b9b3361

Ответ 1

Управление исходным кодом в основном связано с воспроизводимостью: можете ли вы воспроизвести версию усилий по разработке, основанную на том, что вы сохранили в своем SCM?

Если этот файл .rvmrc необходим для того, чтобы любой разработчик вашего проекта мог работать (с соответствующими артефактами), тогда да, вы должны его версировать.

Как упоминалось в Рекомендации RVM:

Нет. 2 - Проверьте свой rvmrc на исходный элемент управления.

Проверяя вышеупомянутый rvmrc на исходный элемент управления рядом с вашим приложением, , вы гарантируете, что все пользователи имеют согласованную среду, когда они используют rvm.

Кроме того, автоматизируя установки gemset и т.п. (например, проверяя rvmrc в репозитории rvm-сайта или репозитарии TEDxPerth rvmrc), вы также начинаете работать так же просто, как смена каталога.

Кроме того, вы также можете автоматически настроить развертывания вашей среды приложения.

Другие разработчики могут использовать gemsets на своем RVM с помощью:

echo rvm_ignore_gemsets_flag=1 >> ~/.rvmrc

Это заставит их всегда использовать gemset по умолчанию.

Ответ 2

Я бы посоветовал не хранить .rvmrc в SCM. Две конкретные причины:

  • Если вы используете gemsets, вы принуждаете других разработчиков использовать один и тот же gemset (в то время как некоторые могут предпочесть иметь все свои драгоценные камни в глобальном gemset).

  • Вы затрудняете выполнение другими разработчиками других проектов Ruby. Конечно, при производстве он может работать на 1.9.2-p290, но почему мне не разрешено запускать приложение локально на 1.9.3-p0?

Как правило, это слишком сильно влияет на каждого разработчика (такая же история, как database.yml, которая также не должна храниться в SCM). Заметки в README проекта "Running Run" версии Ruby достаточно imo.