【问题标题】:Heroku-Buildpack-Multi causing app to crashHeroku-Buildpack-Multi 导致应用程序崩溃
【发布时间】:2015-09-09 14:55:48
【问题描述】:

我在 Heroku 上有一个 Rails 4 应用程序,我正在尝试使用两个构建包进行部署。我不确定我是否缺少步骤或是否存在错误,但是当我推送代码时,应用程序部署成功。但是,当我打开它时,它会崩溃。

我尝试使用命令heroku buildpacks:set https://github.com/bobbus/image-optim-buildpack.githeroku 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}

我也尝试过清除 buildpack (heroku buildpacks:clear) 并改为创建 .buildpacks 文件,但这产生了同样的错误。

这是我的.builcpacks 文件:

https://github.com/ddollar/heroku-buildpack-multi.git
https://github.com/bobbus/image-optim-buildpack.git

据我所知,Heroku 开发中心和构建包本身的文档非常少。

【问题讨论】:

  • 请您澄清一下“到目前为止一直工作得很好”。 bundle 命令是否曾经在 Heroku deploy 上运行,然后有什么东西破坏了它?
  • 我的 Procfile 中的 bundle 命令之前工作正常,如果我删除 .buildpacks 文件和/或运行 heroku buildpacks:clear 仍然可以工作。日志中的错误让我相信这是问题的根源。
  • 好的。了解这一点很有帮助。

标签: ruby-on-rails heroku bundler buildpack


【解决方案1】:

不需要使用 .buildpacks 多管理器,因为 Heroku 在设置构建包时通过传递 --index 原生支持多个构建包:

Deploy 将检测您的构建包并运行它们。要检查您的应用程序中当前设置了哪些构建包,请运行:heroku buildpacks

【讨论】:

  • 这对我来说很好,很好。
【解决方案2】:

如果您列出的两个构建包是您要加载的唯一两个,我认为您缺少 Ruby 构建包,这是定义“捆绑器”的地方:

https://github.com/heroku/heroku-buildpack-ruby

注意:如果我在调试它,我会放弃 buildpack-multi,只使用 Ruby buildpack 来查看是否可以通过捆绑程序错误来解决此问题,然后尝试加载另一个 buildpack ,等等。


我明白你对文档的意思。相当虚弱。让我知道这是否有帮助。

【讨论】:

  • 谢谢!这似乎解决了我的应用程序崩溃问题。我仍然对我需要的构建包没有任何运气。当我运行heroku buildpacks 时,什么也没有出现。
  • 我不是 buildpack 专家(不久前我离开了 Heroku),但我可以向你提出一些想法......当我在我的应用程序上运行 $heroku buildpacks 时,它会响应“appname has没有设置 Buildpack URL。”这是真的。如果有的话,您会收到什么信息?
  • 我实际上不再使用heroku-buildpack-multi。在意识到我的问题的根源似乎是 Heroku 现在原生支持多个构建包之前,我遇到了更多问题。因此,每当我尝试将多包与其他包一起添加时,都会导致我的应用程序崩溃或无法部署。我已经发布了一个关于这个主题的问题以及一个答案here。我在 buildpacks 上找到的资源,甚至来自 Heroku,都不是很有帮助。
  • 是的。转向 Heroku 提供的构建包似乎是个好主意。那里的文档比 -buildpack-multi 更好,后者本质上是没有文档。祝你好运。
猜你喜欢
  • 1970-01-01
  • 2011-07-14
  • 1970-01-01
  • 2017-08-22
  • 2017-10-03
  • 2020-08-09
  • 1970-01-01
  • 2015-10-21
  • 2016-06-04
相关资源
最近更新 更多