【发布时间】:2022-01-02 10:13:15
【问题描述】:
我在 Heroku 上部署了一个 node js 应用程序,安装了这个verificac19-sdk library。
我已经在本地执行了这个应用程序,它可以正常工作。 但是在 Heroku 上,在构建之后,当应用程序启动时出现此错误并崩溃。
这个模块并不直接存在于 package.json 中,但我认为它是 verificac19 库的依赖。
package.json
"dependencies": {
"express": "^4.17.1",
"verificac19-sdk": "^0.4.2"
},
"devDependencies": {
"nodemon": "^2.0.15"
}
Heroku 日志错误
2021-11-23T23:06:58.053821+00:00 heroku[web.1]: Starting process with command `node app.js`
2021-11-23T23:06:59.179410+00:00 heroku[web.1]: Process exited with status 1
2021-11-23T23:06:59.322594+00:00 heroku[web.1]: State changed from starting to crashed
2021-11-23T23:06:59.058770+00:00 app[web.1]: internal/modules/cjs/loader.js:905
2021-11-23T23:06:59.058789+00:00 app[web.1]: throw err;
2021-11-23T23:06:59.058790+00:00 app[web.1]: ^
2021-11-23T23:06:59.058790+00:00 app[web.1]:
2021-11-23T23:06:59.058790+00:00 app[web.1]: Error: Cannot find module 'pvutils'
【问题讨论】:
-
您是否运行
yarn或npm在本地安装依赖项并提交锁定文件? Heroku 使用锁定文件(如果存在)。 -
@chri 我已经运行了 npm。是的,在提交中存在锁定文件。您是否认为我应该从提交中删除锁定文件,以便 Heroku 单独安装所有 depemdencias?
-
您通常应该提交锁定文件,但要确保它完全是最新的。
-
@chris 我可以检查一下它是否是最新的吗?
-
如果你使用 Yarn,试试
yarn install --check-files。使用 NPM,我认为您只需npm install并查看package-lock.json文件是否更改。 (如果确实如此,请提交这些更改。)
标签: javascript node.js heroku