【问题标题】:'Couldn't find that process type' heroku node deployment“找不到该进程类型”heroku 节点部署
【发布时间】:2017-10-16 03:27:15
【问题描述】:

当我尝试执行 $ heroku ps:scale web=1 时,我收到“找不到该进程类型”。我查看了一些其他解决方案,这些解决方案建议确保我的 Procfile 拼写正确并正确推送,即。

这是我得到的确切错误:

    heroku ps:scale web=1
Scaling dynos... !
 ▸    Couldn't find that process type.
Error: ENOENT: no such file or directory, open '/Users/XXXXXX/.cache/heroku/error.log'
    at Object.fs.openSync (fs.js:584:18)
    at Object.fs.writeFileSync (fs.js:1316:33)
    at Object.fs.appendFileSync (fs.js:1362:6)
    at log (/usr/local/Cellar/heroku/6.6.7/libexec/node_modules/heroku-cli-util/lib/errors.js:87:6)
    at handleErr (/usr/local/Cellar/heroku/6.6.7/libexec/node_modules/heroku-cli-util/lib/errors.js:102:9)
    at process._tickCallback (internal/process/next_tick.js:109:7)

【问题讨论】:

  • 我遇到了类似的错误,使用 python 部署
  • 我必须添加一个 buildpack。然后我就可以推送了,并且自动添加了初始的 web 进程类型。

标签: node.js heroku deployment


【解决方案1】:

我发现问题出在哪里,在我的项目中,我没有推送到 master 分支,并且执行了错误的 git 代码。因此,如果您在不同的分支上工作,那么推送到 Heroku 的正确方法如下:

git push heroku <branch_name>:master

【讨论】:

    【解决方案2】:

    虽然下面的答案是针对 Rails 的,但它当然可以适用于任何框架。

    应用部署日志应该列出这些默认类型:

    Default types for buildpack -> console, rake, web, worker
    

    (此日志在您运行git push 时显示,您也可以在 Heroku 仪表板的 Activity feed 中找到它们)

    如果此行(或类似内容)不存在,这可能是由于您的应用程序的构建包所致。您可以列出它们:

    $ heroku buildpacks --app myapp
    === myapp Buildpack URLs
    1. heroku/ruby
    2. https://github.com/some/buildpack.git
    

    在本例中,heroku/ruby 先出现,这听起来可能是合法的。但似乎最后一个 buildpack 取消了 heroku/ruby 创建的类型。要解决此问题,请确保此 buildpack 位于最后。您可以通过buildpacks:removebuildpacks:add --index 实现此目的:

    $ heroku buildpacks:remove https://github.com/some/buildpack.git --app myapp
    $ heroku buildpacks:add --index 1 https://github.com/some/buildpack.git --app myapp
    $ heroku buildpacks --app myapp
    === myapp Buildpack URLs
    1. https://github.com/some/buildpack.git
    2. heroku/ruby
    

    使用git push 再次部署应用程序,现在可以启动webworker 进程。

    【讨论】:

    • 我完全意识到这并不完全是问题的答案,但这个错误消息在网络上几乎没有文档,这绝对是我希望在这里找到的那​​种材料。跨度>
    【解决方案3】:

    正如 Philippe 提到的,heroku 有许多资源类型,例如控制台、rake、web、worker。

    我的 Procfile 是

    web: gunicorn mysite.wsgi --log-file - 
    

    所以

    heroku ps:scale web=0 为我工作

    【讨论】:

      猜你喜欢
      • 2018-07-08
      • 2021-04-03
      • 2019-10-23
      • 2014-10-21
      • 2018-03-01
      • 1970-01-01
      • 2017-01-07
      • 2012-07-20
      • 1970-01-01
      相关资源
      最近更新 更多