经过几个小时的阅读和进入循环酷部署过程后,我来到这里。 https://www.cyclic.sh/
我试图免费托管我的 express js 应用程序,并将我的 github 存储库链接到我的 cyclic.sh 仪表板。 (顺便说一句,我在我的 express 应用程序中添加了打字稿)我的应用程序的构建过程是成功的 ✅,但是当我检查运行时的日志时,它抛出了这个错误:错误:无法运行'node index.js'
完整的运行时错误日志:
2023-01-09 01:21:26.063: grep: /var/task/package.json: No such file or directory
2023-01-09 01:21:26.527: node:internal/modules/cjs/loader:998
throw err;
^
Error: Cannot find module 'dotenv'
Require stack:
- /var/task/index.js
at Module._resolveFilename (node:internal/modules/cjs/loader:995:15)
at Module._load (node:internal/modules/cjs/loader:841:27)
at Module.require (node:internal/modules/cjs/loader:1061:19)
at require (node:internal/modules/cjs/helpers:103:18)
at Object.<anonymous> (/var/task/index.js:33:34)
at Module._compile (node:internal/modules/cjs/loader:1159:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1213:10)
at Module.load (node:internal/modules/cjs/loader:1037:32)
at Module._load (node:internal/modules/cjs/loader:878:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/var/task/index.js' ]
}
Thrown at:
at Module._resolveFilename (node:internal/modules/cjs/loader:995:15)
at Module._load (node:internal/modules/cjs/loader:841:27)
at Module.require (node:internal/modules/cjs/loader:1061:19)
2023-01-09 01:21:26.527: at require (node:internal/modules/cjs/helpers:103:18)
at /var/task/index.js:33:34
at Module._compile (node:internal/modules/cjs/loader:1159:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1213:10)
at Module.load (node:internal/modules/cjs/loader:1037:32)
at Module._load (node:internal/modules/cjs/loader:878:12)
at executeUserEntryPoint (node:internal/modules/run_main:81:12)
Node.js v18.12.1
2023-01-09 01:21:26.562:
ERROR: Failed to run 'node index.js'.
Exited with code: 1
我注意到问题是循环没有在正确的目录中运行节点。正确执行的命令应该是:
node dist/index.js
。因此,我在 package.json
中添加了脚本配置,因为它在 https://docs.cyclic.sh/overview/launch 中指定,但由于某种原因,cyclic 没有读取我的脚本中的更改。 (在当地效果很好)
我不确定我是否遗漏了什么。我非常接近,但我现在有股票。我附上了一些关于成功构建、失败和我的 package.json 配置的截图。
任何帮助将不胜感激!提前致谢!
正确的做法是:
"start": "node index.js"
而不是:
"start": "node dist/index.js"
希望对你有用。快乐编码