Mam prosty serwer Sinatra, który jest poprawnie wdraża za pomocą Ruby BuildPack.

Teraz muszę zainstalować zależność PIP, która zostanie wywołana przez kod Ruby.

Podążałem za instrukcjami: HTTPS: //devcenter.Heroku. COM / Artykuły / Korzystanie-wielokrotne Buildpacks-for-An-App

Biegnę:

heroku buildpacks:add --index 1 heroku/python

Następnie, gdy wdrażam git push heroku master, widzę ten błąd:

zdalny: ----- & gt; Aplikacja Nie kompatybilna z BUILDPACK: HTTPS: //buildpack-Registry.s3. Amazonaws.com/buildpacks/heroku/python.tgz.

Remote: Więcej informacji: https://devcenter.HEROKU.com/articles/buildpacks#dekcja -Failure.

Mój prokryle jest następujący - uruchamia stojak, który z kolei uruchamia serwer Sinatra

# Procfile
web: bundle exec puma -t 5:5 -p ${PORT:-3000} -e ${RACK_ENV:-development}

Nie napisałem jeszcze kodu, aby zainstalować zależności PIP.

0
max pleaner 29 listopad 2019, 11:21

1 odpowiedź

Najlepsza odpowiedź

Domyśliłam się. Musiałem biec

heroku buildpacks:set heroku/ruby

Nawet jeśli to uruchamiam, mówi

Błąd: pakiet buildpack heroku / ruby jest już ustawiony w Twojej aplikacji.

Nadal zapobiega błędowi, który pokazałem w moim pytaniu, po wdrożeniu.

A kiedy przenoszę wymagania.txt do katalogu głównego mojego projektu, widzę, że pip i zależności są instalowane. Kiedy łączę się z heroku run bash, mogę pomyślnie uruchomić mój skrypt w Pythonie.

0
max pleaner 29 listopad 2019, 18:11