Должен ли Gemfile.lock быть привязан к исходному контролю в Windows?

Ruby newb здесь.

Я загружаю ruby ​​через rubyinstaller, сделал gem install rails, разрешил несколько отсутствующих библиотек и, наконец, развязал ruby ​​project Я хочу работать на.

Прежде чем прикоснуться ко всему, я вижу, что мой Gemfile.lock изменен:

diff --git a/Gemfile.lock b/Gemfile.lock
index aefda68..9ebccba 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -46,6 +46,7 @@ GEM
     diff-lcs (1.1.3)
     erubis (2.7.0)
     eventmachine (1.0.0)
+    eventmachine (1.0.0-x86-mingw32)
     execjs (1.4.0)
       multi_json (~> 1.0)
     hike (1.2.1)
@@ -65,11 +66,17 @@ GEM
     multi_json (1.3.6)
     multi_xml (0.2.2)
     pg (0.14.1)
+    pg (0.14.1-x86-mingw32)
     polyglot (0.3.3)

...

 PLATFORMS
   ruby
+  x86-mingw32

Все измененные строки, похоже, связаны с Windows. Этот ответ, кажется, указывает, что я не должен gitignore Gemfile.lock(он уже привязан к репо, к которому я клонировал). Этот ответ подразумевает, что я могу получить ошибки, если я сделаю фиксацию и нажал ее на герою (имеет смысл, поскольку я не хочу, чтобы мое приложение зависело от файлов, зависящих от Windows).

Итак, что это? Как его исправить? Должен ли я удалить Gemfile.lock из моего репо?

Ответ 1

В прошлый раз, когда я нажал на Heroku с Windows Gemfile.lock, он обработал его довольно изящно. Я не помню, если он не удалось и восстановил Gemfile.lock или просто разделил теги двоичных gem.

Есть два жизнеспособных варианта, которые я вижу.
Один из них состоит в том, чтобы предположить, что с этим поведением не будет никакой проблемы. Это означает использование строгого требования к версии gem или обновление вашего bundle и подтверждение того, что все работает до нажатия.

Другим является использование :platform в вашем Gemfile. Я не буду рекомендовать это, но это должно привести к тому, что источник будет удален и скомпилировать драгоценный камень на месте. Это означает, что любые внешние зависимости должны быть доступны. С большим количеством двоичных драгоценных камней (например, драгоценный камень pg) это непростая задача. С некоторыми другими драгоценными камнями это может быть почти невозможно. Еще раз, я бы не рекомендовал делать это.