pm2 command error 'SyntaxError: Unexpected token' in linux environment

pm2 command error 'SyntaxError: Unexpected token' in linux environment

找到了类似的问题,但 none 对我的情况有所帮助:

run pm2 logs error SyntaxError: Unexpected token

我的节点、npm 和 pm2 的版本是:

节点:v6.14.3

npm: v3.10.10

pm2: v2.10.2

我正在尝试在无法访问互联网的公司 linux 环境中使用 pm2 部署 angular 应用程序。我已经通过以下命令从我的公司工件存储库中设置 npm registry 安装了 pm2

$ npm install -g pm2

安装成功,我可以在 /home/MY_ID/node_modules/pm2 的节点模块文件夹中看到一个文件夹。不知何故路径变量未设置,所以我无法 运行 任何 pm2 命令。所以我 运行 在我的终端中使用以下命令来设置 pm2 路径变量:

$ export PATH=$PATH:/home/MY_ID/node_modules/pm2/bin

之后我尝试使用 运行ning 命令 pm2 -v 检查 pm2,我得到以下错误:

SyntaxError: Unexpected token ...
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:549:28)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.require (module.js:504:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/home/MY_ID/node_modules/pm2/constants.js:10:14)

请问我做错了什么?会不会是路径设置错误或者pm2没安装好?

来自 pm2 的 github page:

All Node.js versions are supported starting Node.js 8.X.

您需要安装较新版本的nodejs(至少v 10,v6 很旧)。

关于那个错误,问题可能是 pm2 将 spread operator 与对象一起使用,直到 nodejs 8.3(或 v 8.0 运行 --harmony 标志)才支持该对象.

示例

let clone = {...object};