Платформы добавлены в Gemfile.lock
Я пытаюсь отследить, как несколько платформ были добавлены в мой Gemfile.lock
без этого явно. Должно быть, я пропустил эти изменения при добавлении новых драгоценных камней, но я не могу воспроизвести то же самое Gemfile.lock
дополнения платформы при добавлении тех же Gemfile
изменения.
Вот коммит, где были добавлены новые платформы.
#....
+gem 'sqreen'
+gem 'sanitize'
+
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
@@ -55,6 +57,8 @@ gem 'postmark-rails'
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platform: :mri
+ gem 'capybara'
+ gem 'selenium-webdriver'
end
И изменения в Gemfile.lock
в том же коммите:
PLATFORMS
+ java
ruby
+ x64-mingw32
+ x86-mingw32
+ x86-mswin32
Я пытался воспроизвести ту же модификацию в тестовом приложении, но эти платформы не были добавлены в Gemfile.lock
Я заметил это, когда недавно толкал к героку:
Removing `Gemfile.lock` because it was generated on Windows.
remote: Bundler will do a full resolve so native gems are handled properly.
remote: This may result in unexpected gem versions being used in your app.
remote: In rare occasions Bundler may not be able to resolve your dependencies at all.
remote: https://devcenter.heroku.com/articles/bundler-windows-gemfile
Я не занимаюсь разработкой на машине с Windows, и теперь к платформе добавляются гемы Gemfile.lock
например:
ffi (1.9.18)
ffi (1.9.18-java)
ffi (1.9.18-x64-mingw32)
ffi (1.9.18-x86-mingw32)
Я не совсем уверен, как платформы были добавлены. Не рекомендуется изменять файл блокировки напрямую, но чтобы успокоить предупреждение heroku, стоит ли мне исследовать удаление всех ссылок, относящихся к конкретной платформе, и удалить нерубиновые платформы из моего файла блокировки? Любой совет здесь приветствуется.
rails 5.1.3
1 ответ
Покопавшись в этом свежим взглядом утром, вот что случилось.
Я проверил свою историю Bash и увидел, что я побежал bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java
перед коммитом я разместил в вопросе. Это, очевидно, добавляет больше платформ в вашем Gemfile.lock
и впоследствии зависимости от платформы.
Я думаю, что я запустил это в терминале, чтобы избавиться от того, что я думал, было ошибкой вокруг tzinfo-data
, Больше информации об этой "ошибке" здесь https://github.com/tzinfo/tzinfo-data/issues/12.
Вместо того, чтобы редактировать Gemfile.lock
прямо я побежал bundle lock --remove-platform x86-mingw32 x86-mswin32 x64-mingw32 java
и это внесло соответствующие изменения в мой файл блокировки. Более подробная информация здесь http://bundler.io/v1.16/bundle_lock.html.
Heroku больше не выдает ошибку при развертывании, как ожидалось. Надеюсь, это поможет кому-то в будущем.