Cyclic.sh 未检测到 package.json 中的启动 scrypt

问题描述 投票:0回答:1

经过几个小时的阅读和进入循环酷部署过程后,我来到这里。 https://www.cyclic.sh/

我试图免费托管我的 express js 应用程序,并将我的 github 存储库链接到我的 cyclic.sh 仪表板。 (顺便说一句,我在我的 express 应用程序中添加了打字稿)我的应用程序的构建过程是成功的 ✅,但是当我检查运行时的日志时,它抛出了这个错误:错误:无法运行'node index.js'

构建成功: enter image description here

完整的运行时错误日志:


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 配置的截图。

我的package.json文件配置: enter image description here

任何帮助将不胜感激!提前致谢!

express deployment hosting cyclic
1个回答
0
投票

正确的做法是:

"start": "node index.js"

而不是:

"start": "node dist/index.js"

希望对你有用。快乐编码

© www.soinside.com 2019 - 2024. All rights reserved.