【问题标题】:Why is heroku post-build appending `/app` to my start script file?为什么 heroku post-build 将 `/app` 附加到我的启动脚本文件?
【发布时间】:2021-06-24 02:33:08
【问题描述】:

我正在尝试通过 Heroku 进行部署和应用,并在我的 package.json 文件中使用 heroku-postbuild 命令来执行此操作。

这是我的 package.json 文件:

{
  "name": "article-ranker-v2",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "dependencies": {},
  "devDependencies": {
    "concurrently": "^6.0.0"
  },
  "scripts": {
    "start": "node server.js --prefix backend",
    "heroku-postbuild": "set NPM_CONFIG_PRODUCTION=false&&npm install --prefix backend&&npm install --prefix frontend&&npm run build --prefix frontend",
    "test": "echo \"Error: no test specified\" && exit 1",
    "server:dev": "npm run start:dev --prefix backend",
    "client:dev": "npm run start:dev --prefix frontend",
    "server:prod": "npm run start:prod --prefix backend",
    "client:prod": "npm run start:prod --prefix frontend",
    "server:debug": "npm run debug --prefix backend",
    "dev": "concurrently \"npm run server:dev\" \"npm run client:dev\"",
    "debug": "concurrently \"npm run server:debug\" \"npm run client:dev\"",
    "prod": "concurrently \"npm run server:prod\" \"npm run client:prod\""
  },
  "author": "",
  "license": "ISC",

}

奇怪的是,当我运行heroku-logs 时出现以下错误:

2021-03-27T11:30:12.000000+00:00 app[api]: Build succeeded
2021-03-27T11:30:12.045477+00:00 heroku[web.1]: State changed from crashed to starting
2021-03-27T11:30:22.109846+00:00 heroku[web.1]: Starting process with command `npm start`
2021-03-27T11:30:24.585408+00:00 app[web.1]:
2021-03-27T11:30:24.585423+00:00 app[web.1]: > article-ranker-v2@1.0.0 start /app
2021-03-27T11:30:24.585424+00:00 app[web.1]: > node server.js --prefix backend
2021-03-27T11:30:24.585424+00:00 app[web.1]:
2021-03-27T11:30:24.639473+00:00 app[web.1]: internal/modules/cjs/loader.js:883
2021-03-27T11:30:24.639474+00:00 app[web.1]: throw err;
2021-03-27T11:30:24.639475+00:00 app[web.1]: ^
2021-03-27T11:30:24.639475+00:00 app[web.1]:
2021-03-27T11:30:24.639476+00:00 app[web.1]: Error: Cannot find module '/app/server.js'
2021-03-27T11:30:24.639477+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)

问题似乎是它试图在app 文件夹中找到我的server.js 文件;但是,不存在这样的文件夹 - server.js 文件位于 backend 文件夹的根目录中。

任何人都知道为什么路径前加上/app

【问题讨论】:

    标签: node.js heroku heroku-cli


    【解决方案1】:

    我遇到了同样的问题,我发现我的 server.js 文件不知何故未包含在 repo 中。将其添加到 repo 手动解决了这个问题。我认为 heroku 实际上确实将所有文件都放在了 app 文件夹中。

    【讨论】:

      猜你喜欢
      • 2019-01-07
      • 1970-01-01
      • 1970-01-01
      • 2014-09-05
      • 2010-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多