【问题标题】:Heroku deploy succeeds but shows application errorHeroku 部署成功但显示应用程序错误
【发布时间】:2021-06-08 02:05:26
【问题描述】:

现在,我正在使用 Heroku 从 GitHub 部署我的应用程序。这是部署输出日志:

-----> Building on the Heroku-20 stack
-----> Determining which buildpack to use for this app
-----> Node.js app detected
       
-----> Creating runtime environment
       
       NPM_CONFIG_LOGLEVEL=error
       NODE_VERBOSE=false
       NODE_ENV=production
       NODE_MODULES_CACHE=true
       
-----> Installing binaries
       engines.node (package.json):  16.x
       engines.npm (package.json):   unspecified (use default)
       
       Resolving node version 16.x...
       Downloading and installing node 16.3.0...
       Using default npm version: 7.15.1
       
-----> Installing dependencies
       Installing node modules (package.json)
       
       added 149 packages, and audited 150 packages in 9s
       
       10 packages are looking for funding
         run `npm fund` for details
       
       found 0 vulnerabilities
       
-----> Build
       
-----> Caching build
       - node_modules
       
-----> Pruning devDependencies
       
       up to date, audited 150 packages in 866ms
       
       10 packages are looking for funding
         run `npm fund` for details
       
       found 0 vulnerabilities
       
-----> Build succeeded!
-----> Discovering process types
       Procfile declares types     -> (none)
       Default types for buildpack -> web
-----> Compressing...
       Done: 48M
-----> Launching...
       Released v3
       https://dino-pack.herokuapp.com/ deployed to Heroku

但是,当我转到 dino-pack.herokuapp.com 时,它会显示:

有什么问题,我该如何解决?我已经尝试删除并重新制作应用程序,但它仍然显示此内容。

【问题讨论】:

    标签: node.js heroku


    【解决方案1】:

    检查您的设置是否正确,Procfile 和 package.json。按照设置指南进行仔细检查。我确定这是一个愚蠢的错误,但我们需要更多信息来找出它是什么。

    【讨论】:

    • 我没有为 Procfile 做任何事情。这是什么?
    • 尝试遵循本指南。克隆入门项目并检查 procfile。 devcenter.heroku.com/articles/… 简单来说,您使用 Procfile 来告诉 Heroku 如何运行您的应用程序的各个部分
    【解决方案2】:

    据我所知,从您的日志中可以看出,似乎存在路径解析问题。有些模块不能很好地处理相对路径。

    如果您在某处有使用相对路径的导入,我会尝试将其更改为有效的相对格式,或者首先尝试使用绝对路径,然后查看日志中显示的内容。

    这只是一个猜测,因为您不想共享您的代码。

    【讨论】:

    • 我是从 GitHub 执行此操作,而不是从命令行。
    • 您应该仍然能够找到日志。如果您登录 heroku,则可以从您的应用程序中获得日志。右上角附近有一个下拉菜单,其中包含查看日志的选项。这与您已经共享的构建日志不同。也会很明显。但是获取命令行工具要容易得多,强烈推荐。
    • 我找到的日志在这里:pastebin.com/UgWj3hgE.
    • 我仔细检查了,在父目录中有一个名为app.js的文件。
    • 你从哪里安装了“dino-pack”包?它似乎不在 npm 注册表中。
    猜你喜欢
    • 2021-08-23
    • 2019-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-10
    • 2021-06-29
    相关资源
    最近更新 更多