命令 yarn 运行 start 的 PM2 是什么?

What is the `PM2` for command `yarn run start`?

我 运行 使用 yarn run start 的 nodejs 应用程序,我应该使用什么 pm2 命令?

pm2 yarn run start给我一个错误。

我的package.json内容

"scripts": {
    "start": "budo main.js:dist/bundle.js --live --host 0.0.0.0",
    "watch": "watchify main.js -v --debug -o dist/bundle.js",
    "prep": "yarn && mkdirp dist",
    "build": "browserify main.js -o dist/bundle.js",
    "lint": "eslint main.js --fix",
    "deploy": "yarn build && uglifyjs dist/bundle.js -c -m -o dist/bundle.min.js"
  },

你得到的错误是因为 bash 脚本(yarn)正在用节点执行...

因为pm2的默认解释器设置为node.

对于 运行 纱线,您必须将解释器设置为 bash:

shell:

尝试以下命令:

pm2 start yarn --interpreter bash --name api -- start

对我来说(ubuntu 20)

pm2 start yarn --name api -- start

就可以了。使用 bash 解释器标志,它会在 pm2 中出错。

pm2 start yarn --name api -- start

不适合我。

下面显示

0|api      | /usr/share/yarn/bin/yarn:2
0|api      | argv0=$(echo "[=11=]" | sed -e 's,\,/,g')
0|api      | SyntaxError: missing ) after argument list

这意味着启动一个带有 node.js

的 yarn 二进制文件

这个命令怎么样。

pm2 start "yarn start" --name api

它对我来说就像魅力一样。