[eggjs/egg]typescript 模板构建模式运行报错

2025-10-27 209 views
6
What happens?

按照官方文档正常操作: 走了一下 构建方式 $ mkdir showcase && cd showcase $ npm init egg --type=ts $ npm i $ npm run tsc $ npm start

然后就报错了, 具体错误信息如下:

是不是模板本身就有问题???

最小可复现仓库

请使用 npm init egg --type=simple bug 创建,并上传到你的 GitHub 仓库

复现步骤,错误日志以及相关配置
egg-scripts] tail -n 100 /Users/wanganming/logs/master-stderr.log
[egg-scripts] Got error when startup:
[egg-scripts] at checkWaitingCount (internal/cluster/child.js:217:9)
[egg-scripts] at Worker._disconnect (internal/cluster/child.js:232:3)
[egg-scripts] at Worker.disconnect (internal/cluster/child.js:239:5)
[egg-scripts] at process. (/Users/wanganming/Documents/anmingwang/temp/koa-egg/node_modules/graceful/index.js:101:16)
[egg-scripts] at process.emit (events.js:376:20)
[egg-scripts] at process.emit (/Users/wanganming/Documents/anmingwang/temp/koa-egg/node_modules/egg-scripts/node_modules/source-map-support/source-map-support.js:516:21)
[egg-scripts] [Sun Jan 23 2022 17:26:58 GMT+0800 (中国标准时间)] [graceful:worker:46735:uncaughtException] throw error 3 times
[egg-scripts] Error: write EPIPE
[egg-scripts] at process.target._send (internal/child_process.js:839:20)
[egg-scripts] at process.target.send (internal/child_process.js:710:19)
[egg-scripts] at sendHelper (internal/cluster/utils.js:27:15)
[egg-scripts] at send (internal/cluster/child.js:199:10)
[egg-scripts] at checkWaitingCount (internal/cluster/child.js:217:9)
[egg-scripts] at Worker._disconnect (internal/cluster/child.js:232:3)
[egg-scripts] at Worker.disconnect (internal/cluster/child.js:239:5)
[egg-scripts] at process. (/Users/wanganming/Documents/anmingwang/temp/koa-egg/node_modules/graceful/index.js:101:16)
[egg-scripts] at process.emit (events.js:376:20)
[egg-scripts] at process.emit (/Users/wanganming/Documents/anmingwang/temp/koa-egg/node_modules/egg-scripts/node_modules/source-map-support/source-map-support.js:516:21) {
[egg-scripts] errno: -32,
[egg-scripts] code: 'EPIPE',
[egg-scripts] syscall: 'write',
[egg-scripts] name: 'EPIPEError'
[egg-scripts] }
[egg-scripts] Error: write EPIPE
[egg-scripts] at process.target._send (internal/child_process.js:839:20)
[egg-scripts] at process.target.send (internal/child_process.js:710:19)
[egg-scripts] at sendHelper (internal/cluster/utils.js:27:15)
[egg-scripts] at send (internal/cluster/child.js:199:10)
[egg-scripts] at checkWaitingCount (internal/cluster/child.js:217:9)
[egg-scripts] at Worker._disconnect (internal/cluster/child.js:232:3)
[egg-scripts] at Worker.disconnect (internal/cluster/child.js:239:5)
[egg-scripts] at process. (/Users/wanganming/Documents/anmingwang/temp/koa-egg/node_modules/graceful/index.js:101:16)
[egg-scripts] at process.emit (events.js:376:20)
[egg-scripts] at process.emit (/Users/wanganming/Documents/anmingwang/temp/koa-egg/node_modules/egg-scripts/node_modules/source-map-support/source-map-support.js:516:21)
[egg-scripts] Error: write EPIPE
[egg-scripts] at process.target._send (internal/child_process.js:839:20)
[egg-scripts] at process.target.send (internal/child_process.js:710:19)
[egg-scripts] at Object. (/Users/wanganming/Documents/anmingwang/temp/koa-egg/node_modules/egg-cluster/lib/app_worker.js:34:9)
[egg-scripts] at Module._compile (internal/modules/cjs/loader.js:1068:30)
[egg-scripts] at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
[egg-scripts] at Module.load (internal/modules/cjs/loader.js:933:32)
[egg-scripts] at Function.Module._load (internal/modules/cjs/loader.js:774:14)
[egg-scripts] at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
[egg-scripts] at internal/main/run_main_module.js:17:47
[egg-scripts] 2022-01-23 17:26:58,469 ERROR 46744 [app_worker] exit with code:1
[egg-scripts] Error: write EPIPE
[egg-scripts] at process.target._send (internal/child_process.js:839:20)
[egg-scripts] at process.target.send (internal/child_process.js:710:19)
[egg-scripts] at Object. (/Users/wanganming/Documents/anmingwang/temp/koa-egg/node_modules/egg-cluster/lib/app_worker.js:34:9)
[egg-scripts] at Module._compile (internal/modules/cjs/loader.js:1068:30)
[egg-scripts] at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
[egg-scripts] at Module.load (internal/modules/cjs/loader.js:933:32)
[egg-scripts] at Function.Module._load (internal/modules/cjs/loader.js:774:14)
[egg-scripts] at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
[egg-scripts] at internal/main/run_main_module.js:17:47
[egg-scripts] 2022-01-23 17:26:58,471 ERROR 46739 [app_worker] exit with code:1
[egg-scripts] Error: write EPIPE
[egg-scripts] at process.target._send (internal/child_process.js:839:20)
[egg-scripts] at process.target.send (internal/child_process.js:710:19)
[egg-scripts] at Object. (/Users/wanganming/Documents/anmingwang/temp/koa-egg/node_modules/egg-cluster/lib/app_worker.js:34:9)
[egg-scripts] at Module._compile (internal/modules/cjs/loader.js:1068:30)
[egg-scripts] at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
[egg-scripts] at Module.load (internal/modules/cjs/loader.js:933:32)
[egg-scripts] at Function.Module._load (internal/modules/cjs/loader.js:774:14)
[egg-scripts] at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
[egg-scripts] at internal/main/run_main_module.js:17:47
[egg-scripts] 2022-01-23 17:26:58,475 ERROR 46741 [app_worker] exit with code:1
[egg-scripts] Error: write EPIPE
[egg-scripts] at process.target._send (internal/child_process.js:839:20)
[egg-scripts] at process.target.send (internal/child_process.js:710:19)
[egg-scripts] at Object. (/Users/wanganming/Documents/anmingwang/temp/koa-egg/node_modules/egg-cluster/lib/app_worker.js:34:9)
[egg-scripts] at Module._compile (internal/modules/cjs/loader.js:1068:30)
[egg-scripts] at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
[egg-scripts] at Module.load (internal/modules/cjs/loader.js:933:32)
[egg-scripts] at Function.Module._load (internal/modules/cjs/loader.js:774:14)
[egg-scripts] at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
[egg-scripts] at internal/main/run_main_module.js:17:47
[egg-scripts] 2022-01-23 17:26:58,478 ERROR 46746 [app_worker] exit with code:1
[egg-scripts] Error: write EPIPE
[egg-scripts] at process.target._send (internal/child_process.js:839:20)
[egg-scripts] at process.target.send (internal/child_process.js:710:19)
[egg-scripts] at Object. (/Users/wanganming/Documents/anmingwang/temp/koa-egg/node_modules/egg-cluster/lib/app_worker.js:34:9)
[egg-scripts] at Module._compile (internal/modules/cjs/loader.js:1068:30)
[egg-scripts] at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
[egg-scripts] at Module.load (internal/modules/cjs/loader.js:933:32)
[egg-scripts] at Function.Module._load (internal/modules/cjs/loader.js:774:14)
[egg-scripts] at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
[egg-scripts] at internal/main/run_main_module.js:17:47
[egg-scripts] 2022-01-23 17:26:58,479 ERROR 46745 [app_worker] exit with code:1
[egg-scripts] Error: write EPIPE
[egg-scripts] at process.target._send (internal/child_process.js:839:20)
[egg-scripts] at process.target.send (internal/child_process.js:710:19)
[egg-scripts] at Object. (/Users/wanganming/Documents/anmingwang/temp/koa-egg/node_modules/egg-cluster/lib/app_worker.js:34:9)
[egg-scripts] at Module._compile (internal/modules/cjs/loader.js:1068:30)
[egg-scripts] at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
[egg-scripts] at Module.load (internal/modules/cjs/loader.js:933:32)
[egg-scripts] at Function.Module._load (internal/modules/cjs/loader.js:774:14)
[egg-scripts] at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
[egg-scripts] at internal/main/run_main_module.js:17:47
[egg-scripts] 2022-01-23 17:26:58,484 ERROR 46742 [app_worker] exit with code:1
[egg-scripts]
[egg-scripts] Start got error, see /Users/wanganming/logs/master-stderr.log
[egg-scripts] Or use --ignore-stderr to ignore stderr at startup.
相关环境信息
  • 操作系统: MacOS
  • Node 版本:v14.17.0
  • Egg 版本:"^2.6.1",

回答

8

这个错误跟 ts 无关,脚手架是正常的,你再找找其他原因

8

问题是,我什么都没改, 直接下载下来就这样啊 ?能否给个排查的思路? 这就直接关issue, 也太敷衍了吧。

0

遇到这个问题+1

1

低级错误,端口冲突了。

8

Error: ENOENT: no such file or directory, scandir '/Users/huanglu/Desktop/egg-example/app/extend' at Object.readdirSync (node:fs:1390:3) at exports.readdir (/Users/huanglu/Desktop/egg-example/nodemodules/@mrmlnc_readdir-enhanced@2.2.1@@mrmlnc/readdir-enhanced/lib/sync/fs.js:18:20) at Object.safeCall [as safe] (/Users/huanglu/Desktop/egg-example/nodemodules/@mrmlnc_readdir-enhanced@2.2.1@@mrmlnc/readdir-enhanced/lib/call.js:24:8) at DirectoryReader.readNextDirectory (/Users/huanglu/Desktop/egg-example/nodemodules/@mrmlnc_readdir-enhanced@2.2.1@@mrmlnc/readdir-enhanced/lib/directory-reader.js:78:10) at Readable.DirectoryReader.stream._read (/Users/huanglu/Desktop/egg-example/nodemodules/@mrmlnc_readdir-enhanced@2.2.1@@mrmlnc/readdir-enhanced/lib/directory-reader.js:57:18) at Readable.read (node:internal/streams/readable:496:27) at readdirSync (/Users/huanglu/Desktop/egg-example/nodemodules/@mrmlnc_readdir-enhanced@2.2.1@@mrmlnc/readdir-enhanced/lib/sync/index.js:27:21) at Function.readdirSyncStat (/Users/huanglu/Desktop/egg-example/nodemodules/@mrmlnc_readdir-enhanced@2.2.1@@mrmlnc/readdir-enhanced/lib/index.js:34:10) at ReaderSync.dynamicApi (/Users/huanglu/Desktop/egg-example/node_modules/_fast-glob@2.2.7@fast-glob/out/providers/reader-sync.js:64:24) at ReaderSync.api (/Users/huanglu/Desktop/egg-example/node_modules/_fast-glob@2.2.7@fast-glob/out/providers/reader-sync.js:56:25) 2022-01-30 23:58:58,313 ERROR 17743 [master] exit with code:1 Error: /Users/huanglu/Desktop/egg-example/node_modules/_egg-bin@4.17.0@egg-bin/lib/start-cluster {"typescript":true,"declarations":true,"tscompiler":"ts-node/register","workers":1,"baseDir":"/Users/huanglu/Desktop/egg-example","port":7002,"framework":"/Users/huanglu/Desktop/egg-example/node_modules/egg"} exit with code 1 at ChildProcess. (/Users/huanglu/Desktop/egg-example/node_modules/_common-bin@2.9.0@common-bin/lib/helper.js:56:21) at Object.onceWrapper (node:events:510:26) at ChildProcess.emit (node:events:390:28) at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12) { code: 1 } 按照官网给的命令。运行就报错。怀疑是模版问题

9

我这边测试一下,稍后回复 : )

1

看起来是本地有端口和 7001 冲突导致的。

按照您提供的复现步骤,在 MacOS 下同样适用 node-v14.17.0 可以正常启动 showcase

image

此时执行 tail -n 100 ~/logs/master-stderr.log 可以看到没有任何报错信息。

然后再次执行 npm start 可以看到 7001 端口冲突提示的错误和您这边的错误信息是一致的:

$ npm start

> showcase@1.0.0 start /Users/hyj1991/git/examples/showcase
> egg-scripts start --daemon --title=egg-server-showcase

[egg-scripts] Starting egg application at /Users/hyj1991/git/examples/showcase
[egg-scripts] Run node --no-deprecation --require /Users/hyj1991/git/examples/showcase/node_modules/source-map-support/register.js /Users/hyj1991/git/examples/showcase/node_modules/egg-scripts/lib/start-cluster {"title":"egg-server-showcase","baseDir":"/Users/hyj1991/git/examples/showcase","framework":"/Users/hyj1991/git/examples/showcase/node_modules/egg"} --title=egg-server-showcase
[egg-scripts] Save log file to /Users/hyj1991/logs
[egg-scripts] Wait Start: 1...
[egg-scripts] Wait Start: 2...
[egg-scripts] tail -n 100 /Users/hyj1991/logs/master-stderr.log
[egg-scripts] Got error when startup: 
[egg-scripts] 2022-02-14 20:36:30,349 ERROR 40125 [app_worker] server got error: bind EADDRINUSE null:7001, code: EADDRINUSE
[egg-scripts] 2022-02-14 20:36:30,405 ERROR 40124 [app_worker] server got error: bind EADDRINUSE null:7001, code: EADDRINUSE
[egg-scripts] 2022-02-14 20:36:30,408 ERROR 40120 nodejs.AppWorkerDiedError: [master] app_worker#2:40125 died (code: 0, signal: null, suicide: false, state: dead), current workers: ["1","3","4","5","6","7","8"]
[egg-scripts]     at Master.onAppExit (/Users/hyj1991/git/examples/showcase/node_modules/egg-cluster/lib/master.js:511:21)
[egg-scripts]     at Master.emit (events.js:376:20)
[egg-scripts]     at Messenger.sendToMaster (/Users/hyj1991/git/examples/showcase/node_modules/egg-cluster/lib/utils/messenger.js:137:17)
[egg-scripts]     at Messenger.send (/Users/hyj1991/git/examples/showcase/node_modules/egg-cluster/lib/utils/messenger.js:102:12)
[egg-scripts]     at EventEmitter.<anonymous> (/Users/hyj1991/git/examples/showcase/node_modules/egg-cluster/lib/master.js:354:22)
[egg-scripts]     at EventEmitter.emit (events.js:388:22)
[egg-scripts]     at ChildProcess.<anonymous> (internal/cluster/master.js:199:13)
[egg-scripts]     at Object.onceWrapper (events.js:483:26)
[egg-scripts]     at ChildProcess.emit (events.js:376:20)
[egg-scripts]     at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
[egg-scripts] name: "AppWorkerDiedError"
[egg-scripts] pid: 40120
[egg-scripts] hostname: B-K74SQ05P-2025.local
[egg-scripts] 
[egg-scripts] 2022-02-14 20:36:30,409 ERROR 40120 [master] app_worker#2:40125 start fail, exiting with code:1
[egg-scripts] 2022-02-14 20:36:30,409 ERROR 40120 [master] exit with code:1
[egg-scripts] 2022-02-14 20:36:30,427 ERROR 40121 [agent_worker] receive disconnect event on child_process fork mode, exiting with code:110
[egg-scripts] 2022-02-14 20:36:30,428 ERROR 40121 [agent_worker] exit with code:110
[egg-scripts] 2022-02-14 20:36:30,430 ERROR 40129 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false
[egg-scripts] 2022-02-14 20:36:30,430 ERROR 40128 [app_worker] receive disconnect event in cluster fork mode, exitedAfterDisconnect:false
[egg-scripts] Error: write EPIPE
[egg-scripts]     at process.target._send (internal/child_process.js:839:20)
[egg-scripts]     at process.target.send (internal/child_process.js:710:19)
[egg-scripts]     at Object.<anonymous> (/Users/hyj1991/git/examples/showcase/node_modules/egg-cluster/lib/app_worker.js:34:9)
[egg-scripts]     at Module._compile (internal/modules/cjs/loader.js:1068:30)
[egg-scripts]     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
[egg-scripts]     at Module.load (internal/modules/cjs/loader.js:933:32)
[egg-scripts]     at Function.Module._load (internal/modules/cjs/loader.js:774:14)
[egg-scripts]     at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
[egg-scripts]     at internal/main/run_main_module.js:17:47
[egg-scripts] 2022-02-14 20:36:30,442 ERROR 40126 [app_worker] exit with code:1
[egg-scripts] Error: write EPIPE
[egg-scripts]     at process.target._send (internal/child_process.js:839:20)
[egg-scripts]     at process.target.send (internal/child_process.js:710:19)
[egg-scripts]     at Object.<anonymous> (/Users/hyj1991/git/examples/showcase/node_modules/egg-cluster/lib/app_worker.js:34:9)
[egg-scripts]     at Module._compile (internal/modules/cjs/loader.js:1068:30)
[egg-scripts]     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
[egg-scripts]     at Module.load (internal/modules/cjs/loader.js:933:32)
[egg-scripts]     at Function.Module._load (internal/modules/cjs/loader.js:774:14)
[egg-scripts]     at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
[egg-scripts]     at internal/main/run_main_module.js:17:47
[egg-scripts] 2022-02-14 20:36:30,458 ERROR 40131 [app_worker] exit with code:1
[egg-scripts] Error: write EPIPE
[egg-scripts]     at process.target._send (internal/child_process.js:839:20)
[egg-scripts]     at process.target.send (internal/child_process.js:710:19)
[egg-scripts]     at Object.<anonymous> (/Users/hyj1991/git/examples/showcase/node_modules/egg-cluster/lib/app_worker.js:34:9)
[egg-scripts]     at Module._compile (internal/modules/cjs/loader.js:1068:30)
[egg-scripts]     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
[egg-scripts]     at Module.load (internal/modules/cjs/loader.js:933:32)
[egg-scripts]     at Function.Module._load (internal/modules/cjs/loader.js:774:14)
[egg-scripts]     at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
[egg-scripts]     at internal/main/run_main_module.js:17:47
[egg-scripts] 2022-02-14 20:36:30,464 ERROR 40127 [app_worker] exit with code:1
[egg-scripts] 
[egg-scripts] Start got error, see /Users/hyj1991/logs/master-stderr.log
[egg-scripts] Or use `--ignore-stderr` to ignore stderr at startup.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! showcase@1.0.0 start: `egg-scripts start --daemon --title=egg-server-showcase`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the showcase@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/hyj1991/.npm/_logs/2022-02-14T12_36_31_518Z-debug.log

可以 cat /Users/wanganming/logs/master-stderr.log 查看更全面的执行错误退出提示来获取端口重复的错误信息提示 :)

7

如果还有其他问题,可以再次打开此 issue 或者继续追问 : )

7

这个问题貌似和 node 版本有关系, 我换成 16.x 就好了 用户 18.x 是有问题的