[PM2][ERROR] Script not found 和 npm in fork_mode
问题$ pm2 start npm --name apps – start[PM2] Starting /home/dhbm/.nvm/versions/node/v10.21.0/bin/npm in fork_mode (1 instance)[PM2] Done.[PM2][ERROR] Script not found: /home/dhbm/3.0.0/apps/–清楚记得 nodejs
环境 : ubuntu 1804 Server
问题
$ pm2 start npm --name apps – start
[PM2] Starting /home/user/.nvm/versions/node/v10.21.0/bin/npm in fork_mode (1 instance)
[PM2] Done.
[PM2][ERROR] Script not found: /home/user/3.0.0/apps/–
清楚记得 nodejs 升级到 15 了 ,这里显示的却是 v10.21.0
升级并设置 node 版本
$ nvm ls
-> v10.21.0
v15.12.0
v16.0.0
default -> v10 (-> v10.21.0)
node -> stable (-> v16.0.0) (default)
stable -> 16.0 (-> v16.0.0) (default)
。。。
难怪啊!
$ nvm use 16.0.0
Now using node v16.0.0 (npm v7.10.0)
$ nvm alias default 16.0.0
default -> 16.0.0 (-> v16.0.0)
$ node -v
v16.0.0
pm2 , yarn 又要重装啊!
npm i -g pm2
npm i -g yarn
$ pm2 -v
[PM2] Spawning PM2 daemon with pm2_home=/home/user/.pm2
[PM2] PM2 Successfully daemonized
4.5.6
$ yarn -v
2.4.1
再次 pm2 启动 apps
$ pm2 start npm --name apps – start
>>>> In-memory PM2 is out-of-date, do:
>>>> $ pm2 update
In memory PM2 version: 4.5.0
Local PM2 version: 4.5.6
......
升级 pm2
$ pm2 update
....
>>>>>>>>>> PM2 updated
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name │ mode │ ↺ │ status │ cpu │ memory │
├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
│ 2 │ apps │ fork │ 0 │ online │ 0% │ 33.0mb │
│ 3 │ apps │ fork │ 0 │ online │ 0% │ 34.2mb │
│ 4 │ apps │ fork │ 0 │ online │ 0% │ 38.2mb │
│ 0 │ apps087 │ fork │ 0 │ online │ 0% │ 35.3mb │
│ 1 │ apps087 │ fork │ 0 │ online │ 0% │ 36.0mb │
最后,他自动启动了之前失败的所有任务
一个一个 delete ,但是到了最后 2 个,出现奇怪的提示
$ pm2 delete 0
[PM2] Applying action deleteProcessId on app [0](ids: [ '0' ])
[PM2] [apps087](0) ✓
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name │ mode │ ↺ │ status │ cpu │ memory │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘
Current process list running is not in sync with saved list. App apps087 apps087 apps apps apps differs. Type 'pm2 save' to synchronize.
dhbm@ubuntu1804-136:~/3.0.0/apps$ pm2 status
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name │ mode │ ↺ │ status │ cpu │ memory │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘
Current process list running is not in sync with saved list. App apps087 apps087 apps apps apps differs. Type 'pm2 save' to synchronize.
干脆重启!
$ sudo reboot
$ pm2 start npm --name apps – start
[PM2] Starting /home/user/.nvm/versions/node/v16.1.0/bin/npm in fork_mode (1 instance)
[PM2] Done.
[PM2][ERROR] Script not found: /home/user/3.0.0/apps/–
还是这个错误啊!
查看官网说明去
https://pm2.keymetrics.io/docs/usage/process-management/
看来发生错误和 fork 模式无关
package.json 中的 start 脚本是这样子的
"start": "yarn clean && cd packages/apps && yarn webpack-cli serve --config webpack.serve.cjs --port 9948",
所以,直接使用 pm2 start 是不行的
$ pm2 start
[PM2][ERROR] File ecosystem.config.js not found
因为只运行着一个 app ,也懒得专门去配置一个 pm2.conf.json
那就逐步测试 pm2 yarn 运行,总会蒙对的!(惭愧!)
$ pm2 start yarn --start
error: unknown option `--start'
–start 用空格隔开就可以了!
$ pm2 start yarn – start
names 是 yarn , 我想要他叫做 apps
$ pm2 start yarn --name apps – start
Current process list running is not in sync with saved list. App apps differs. Type 'pm2 save' to synchronize.
他要求 pm2 save
最终命令是
$ pm2 start yarn --name apps – start && pm2 save
yarn 换成 npm 也是可以的
更多推荐
所有评论(0)