具有多选应用程序的 heroku-buildpak-crash
Heroku-Buildpack-Multi causing app to crash
我在 Heroku 上有一个 Rails 4 应用程序,我正尝试使用两个构建包进行部署。我不确定我是否遗漏了一个步骤或者是否存在错误,但是当我推送代码时,应用程序部署成功。但是,当我打开它时,它崩溃了。
我试过使用命令 heroku buildpacks:set https://github.com/bobbus/image-optim-buildpack.git
和 heroku buildpacks:set https://github.com/ddollar/heroku-buildpack-multi.git
,但我一次只能设置一个,不能同时设置两个。无论我设置哪一个似乎都无关紧要,应用程序总是崩溃。搜索日志,我看到以下内容:
heroku[web.1]: State changed from crashed to starting
heroku[web.1]: Starting process with command `bundle exec puma -t 5:5 -p ${PORT:-3000} -e ${RACK_ENV:-development}`
app[web.1]: bash: bundle: command not found
heroku[web.1]: Process exited with status 127
heroku[web.1]: State changed from starting to crashed
我不是 bundler
方面的专家,但似乎出于某种原因它无法识别我的 Procfile 中的 bundle 命令。
这是我的 Procfile,我应该注意到它到目前为止运行良好。
web: bundle exec puma -t 5:5 -p ${PORT:-3000} -e ${RACK_ENV:-development}
我也尝试过清除构建包 (heroku buildpacks:clear
) 并改为创建 .buildpacks
文件,但产生了同样的错误。
这是我的 .builcpacks
文件:
https://github.com/ddollar/heroku-buildpack-multi.git
https://github.com/bobbus/image-optim-buildpack.git
据我所知,Heroku 开发中心和构建包本身的文档非常稀少。
如果您列出的两个构建包是您正在加载的唯一两个构建包,我认为您缺少 Ruby 构建包,这是定义 "bundler" 的地方:
https://github.com/heroku/heroku-buildpack-ruby
注意: 如果我正在调试它,我会放弃 buildpack-multi,而只使用 Ruby buildpack 看看你是否可以通过bundler 错误,然后尝试加载另一个 buildpack,依此类推。
我明白你对文档的意思了。相当虚弱。如果这有帮助,请告诉我。
不需要使用 .buildpacks 多管理器,因为 Heroku 通过在设置 buildpack 时传递 --index 本机支持多个 buildpacks 例如:
- heroku buildpacks:set https://github.com/heroku/heroku-buildpack-ruby --index 1
- heroku buildpacks:set https://github.com/shunjikonishi/heroku-buildpack-ffmpeg --index 2
- 在你的 git 仓库中改变一些东西 && 然后做一个 -> git push heroku master
Deploy 将检测您的构建包并将 运行 它们。要检查您的应用程序中当前设置了哪些 buildpacks 运行:heroku buildpacks
我在 Heroku 上有一个 Rails 4 应用程序,我正尝试使用两个构建包进行部署。我不确定我是否遗漏了一个步骤或者是否存在错误,但是当我推送代码时,应用程序部署成功。但是,当我打开它时,它崩溃了。
我试过使用命令 heroku buildpacks:set https://github.com/bobbus/image-optim-buildpack.git
和 heroku buildpacks:set https://github.com/ddollar/heroku-buildpack-multi.git
,但我一次只能设置一个,不能同时设置两个。无论我设置哪一个似乎都无关紧要,应用程序总是崩溃。搜索日志,我看到以下内容:
heroku[web.1]: State changed from crashed to starting
heroku[web.1]: Starting process with command `bundle exec puma -t 5:5 -p ${PORT:-3000} -e ${RACK_ENV:-development}`
app[web.1]: bash: bundle: command not found
heroku[web.1]: Process exited with status 127
heroku[web.1]: State changed from starting to crashed
我不是 bundler
方面的专家,但似乎出于某种原因它无法识别我的 Procfile 中的 bundle 命令。
这是我的 Procfile,我应该注意到它到目前为止运行良好。
web: bundle exec puma -t 5:5 -p ${PORT:-3000} -e ${RACK_ENV:-development}
我也尝试过清除构建包 (heroku buildpacks:clear
) 并改为创建 .buildpacks
文件,但产生了同样的错误。
这是我的 .builcpacks
文件:
https://github.com/ddollar/heroku-buildpack-multi.git
https://github.com/bobbus/image-optim-buildpack.git
据我所知,Heroku 开发中心和构建包本身的文档非常稀少。
如果您列出的两个构建包是您正在加载的唯一两个构建包,我认为您缺少 Ruby 构建包,这是定义 "bundler" 的地方:
https://github.com/heroku/heroku-buildpack-ruby
注意: 如果我正在调试它,我会放弃 buildpack-multi,而只使用 Ruby buildpack 看看你是否可以通过bundler 错误,然后尝试加载另一个 buildpack,依此类推。
我明白你对文档的意思了。相当虚弱。如果这有帮助,请告诉我。
不需要使用 .buildpacks 多管理器,因为 Heroku 通过在设置 buildpack 时传递 --index 本机支持多个 buildpacks 例如:
- heroku buildpacks:set https://github.com/heroku/heroku-buildpack-ruby --index 1
- heroku buildpacks:set https://github.com/shunjikonishi/heroku-buildpack-ffmpeg --index 2
- 在你的 git 仓库中改变一些东西 && 然后做一个 -> git push heroku master
Deploy 将检测您的构建包并将 运行 它们。要检查您的应用程序中当前设置了哪些 buildpacks 运行:heroku buildpacks