【问题标题】:pm2 command error 'SyntaxError: Unexpected token' in linux environmentlinux 环境中的 pm2 命令错误 'SyntaxError: Unexpected token'
【发布时间】:2020-08-18 15:01:06
【问题描述】:

发现了类似的问题,但对我的情况没有帮助:

run pm2 logs error SyntaxError: Unexpected token

pm2 Unexpected token import

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

节点:v6.14.3

npm:v3.10.10

pm2:v2.10.2

我正在尝试在无法访问 Internet 的公司 linux 环境中部署一个带有 pm2 的 Angular 应用程序。我已经通过以下命令从我的公司工件存储库中通过设置 npm 注册表安装了pm2

$ npm install -g pm2

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

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

之后我尝试运行命令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没有正确安装?

【问题讨论】:

  • 该企业 linux 环境中的 NodeJS 版本是什么?
  • 节点版本 6.14.3

标签: node.js angular linux pm2


【解决方案1】:

来自pm2的github page

从 Node.js 8.X 开始支持所有 Node.js 版本。

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

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

例子

let clone = {...object};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-02
    • 2015-04-21
    • 1970-01-01
    • 2016-07-22
    • 1970-01-01
    • 2015-09-17
    • 2016-10-04
    • 2016-07-28
    相关资源
    最近更新 更多