У меня есть ранее развернутый Ruby on Rails API, в который я хотел добавить дополнительные исходные данные.
Я получаю следующую ошибку при развертывании из интерфейса командной строки Heroku или из веб-интерфейса :
-----> Ruby app detected
-----> Installing bundler 2.0.2
-----> Removing BUNDLED WITH version in the Gemfile.lock
-----> Compiling Ruby/Rails
-----> Using Ruby version: ruby-2.6.5
-----> Installing dependencies using bundler 2.0.2
Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
bash: /tmp/build_9062c7d5995d7f7c573d9509eb8f19d5/bin/bundle: cannot execute binary file: Exec format error
Bundler Output: bash: /tmp/build_9062c7d5995d7f7c573d9509eb8f19d5/bin/bundle: cannot execute binary file: Exec format error
!
! Failed to install gems via Bundler.
!
! Push rejected, failed to compile Ruby app.
! Push failed
Я не уверен, в чем проблема. Я пробовал:
- Развертывание в новое приложение Heroku
- Добавление Procfile
- Добавление Ruby пакета сборки
- Устранение некоторых выдающиеся предупреждения безопасности от Github путем локального запуска Bundle update и получения нового гем-файла в моем репо, до этого не было никаких новых изменений Gem
Ни одно из них не изменило получаемую мной ошибку.
Если я клонирую репо из github в новую папку на моем Macbook, я смогу запустить его локально.
На моем Macbook есть следующее:
- Ruby Версия 2.6.5p114
- Rails Version 6.0.3.2
Похоже, что Google не очень сильно появляется, за исключением некоторых ссылок на архитектуру ЦП, которые, как я полагаю, я не контролируются в среде Heroku.
Мне кажется, что это связано с bash невозможностью выполнить bin / bundle, но я не знаю, почему и как решить.
Я смутно помню, что у меня были проблемы В этом приложении я не смог запустить команды heroku run rake
, возможно, получил аналогичное сообщение об ошибке, но для решения я думаю, что смог просто запустить heroku run bin/rake
Я считаю, что оригинал * Команда 1038 * была запущена в среде Windows 10 WSL, если это актуально.
РЕДАКТИРОВАТЬ: я могу воссоздать аналогичную проблему с rake
, но исправление для rake
не работает для bundle
, и я даже не уверен, поможет ли это с проблемой развертывания.
➜ appbackend git:(master) heroku run rake
Running rake on ⬢ heroku-name-40049... up, run.8396 (Hobby)
bash: /app/bin/bundle: cannot execute binary file: Exec format error
➜ appbackend git:(master) heroku run bin/rake
Running bin/rake on ⬢ heroku-name-40049... up, run.5201 (Hobby)
Abort testing: Your Rails environment is running in production mode!
➜ appbackend git:(master)
➜ appbackend git:(master) heroku run bundle install
Running bundle install on ⬢ heroku-name-40049... up, run.7746 (Hobby)
bash: /app/bin/bundle: cannot execute binary file: Exec format error
➜ appbackend git:(master) heroku run bin/bundle install
Running bin/bundle install on ⬢ heroku-name-40049... up, run.4632 (Hobby)
bash: bin/bundle: cannot execute binary file: Exec format error