Вы проверяете в своем файле rvmrc? - PullRequest
28 голосов
/ 27 августа 2010

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

Ответы [ 2 ]

31 голосов
/ 27 августа 2010

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

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

Как упомянуто в RVM Best Practices :

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

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

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

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

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

echo rvm_ignore_gemsets_flag=1 >> ~/.rvmrc

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

11 голосов
/ 12 декабря 2011

Я бы на самом деле не советовал хранить .rvmrc в СКМ.Две конкретные причины:

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

  2. Другим разработчикам (-ям) сложно запустить проект в другой версии Ruby.Конечно, на производстве оно может работать на 1.9.2-p290, но почему мне нельзя разрешить локально запускать приложение на 1.9.3-p0?

Обычно это накладывает слишком много на каждого разработчика (та же история, что и database.yml, которая также не должна храниться в СКМ).Примечание в README проекта «работающей» версии Ruby достаточно imo.

...