Как я могу решить Ваш пакет поддерживает только платформы [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#L654

Я посмотрел на свой Gemfile.lock, и в нем говорится:

PLATFORMS
  x86-mingw32

Что, кажется, является частью проблемы. Я пытался поместить любые специфичные для Windows драгоценные камни в блок 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?


person Godwin    schedule 15.04.2017    source источник


Ответы (2)


Запустите следующие две команды в командной строке:

bundle lock --add-platform ruby
bundle lock --add-platform x86_64-linux

Это добавит две платформы в Gemfile.lock.

У меня была такая же ошибка при развертывании в облаке Google. Но после запуска этих двух команд были добавлены ruby ​​и x86_64-linux, и проблема была решена.

person taz    schedule 04.06.2017

Для Ruby 2.5.1 я решил эту проблему на своем VPS, добавив также платформы, упомянутые в сообщении об ошибке, в раздел списка платформ gemfile.lock:

PLATFORMS
  x86-mingw32
  ruby 
  x86_64-linux

Только после этого выполните следующие команды из каталога приложения (как уже показано в ответе taz)

bundle lock --add-platform ruby
bundle lock --add-platform x86_64-linux

привести к успеху.

person Reco Daley    schedule 07.09.2018
comment
Ответ, который вы указали, НЕ работал для меня, поэтому я опубликовал именно то, что заставило мое приложение работать. Также требовалось, чтобы я редактировал список платформ @colidyre - person Reco Daley; 07.09.2018
comment
Это сработало, и мне не нужно было запускать две упомянутые вами команды. - person Jake; 03.07.2019