Как я могу решить "Ваш пакет поддерживает только платформы ["x86-mingw32"], но ваши локальные платформы - ["ruby ", "x86_64-linux"]"
Я создаю сайт rails на компьютере с Windows, но когда я регистрирую свой Gemfile.lock, я получаю следующую ошибку на моих сборках Travis:
Your bundle only supports platforms ["x86-mingw32"] but your local platforms are ["ruby", "x86_64-linux"], and there's no compatible match between those two
списки
Вот полный журнал: https://travis-ci.org/bikebike/BikeBike/builds/222395810
Я посмотрел на свой Gemfile.lock и там написано:
PLATFORMS
x86-mingw32
Который, кажется, является частью проблемы. Я пытался положить любые окна конкретных драгоценных камней в platforms
блок:
platforms 'mswin', 'mingw', 'mswin64', 'x64_mingw' do
gem 'tzinfo-data'
group :test do
gem 'wdm', '>= 0.1.0'
gem 'win32console', require: false
end
end
Но Gemfile.lock выглядит так же.
Вот мой полный Gemfile и Gemfile.lock.
Я могу временно обойти эту проблему, удалив файл Gemfile.lock из git, но это не лучшая практика. В любом случае я могу зафиксировать свой файл Gemfile.lock и продолжить разработку на моей машине с Windows?
2 ответа
Выполните следующие две команды в командной строке:
bundle lock --add-platform ruby
bundle lock --add-platform x86_64-linux
Это добавит две платформы в Gemfile.lock
У меня была такая же ошибка при развертывании в облаке Google. Но после запуска этих двух команд были добавлены ruby и x86_64-linux, и проблема была решена.
Для Ruby 2.5.1 я решил эту проблему на своем VPS, добавив также платформы, упомянутые в сообщении об ошибке, в раздел списка платформ gemfile.lock
:
PLATFORMS
x86-mingw32
ruby
x86_64-linux
Только тогда, выполняя следующие команды из каталога приложения (как уже показано в ответе Таз)
bundle lock --add-platform ruby
bundle lock --add-platform x86_64-linux
привести к успеху.