node.js - PM2 - SyntaxError:在严格模式之外尚不支持块范围的声明
问题描述
我目前正在 Ubuntu 服务器上安装 NodeJS 服务。该应用程序是用咖啡脚本编写的,并且可以自行运行。这就是我设置项目的方式:
cd ~/test-project
nvm use v4.9.1
npm install
pm2 start index.js
但是,当我尝试使用 pm2 启动它时,出现以下错误:
/usr/local/lib/node_modules/pm2/node_modules/needle/node_modules/debug/src/node.js:132
let val = process.env[key];
^^^
SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:373:25)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/usr/local/lib/node_modules/pm2/node_modules/needle/node_modules/debug/src/index.js:9:19)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
在做了一些测试之后,无论我从什么脚本开始,似乎都会出现这个错误 pm2 所以一定有一些东西没有正确配置..
我不知道这是否重要,但我尝试运行的脚本需要节点 v4.9.1,所以我使用 NVM 来使用该版本,在我看来,它试图以某种方式使用相同的节点版本运行 pm2?
非常感谢任何输入,因为我已经坚持了太久了!
解决方案
我在节点版本 4.x 上遇到了同样的问题,
降级 pm2 并且它工作。
npm uninstall -g pm2
npm install -g pm2@3.0.4
推荐阅读
- c# - 在 Windows2016 域中读取 userAccountControl
- node.js - Express 正在重新发送成功和错误 - ERR_HTTP_HEADERS_SENT
- mysql - 用左连接删除数据表
- angular - 如何在 ionic2-calendar 中仅显示一个带有事件 ID 的日历?
- hyperledger-fabric - 如何在“嵌入式系统”中部署 Hyperledger Fabric
- typescript - 如何制作API响应接口?
- android-recyclerview - 如何摆脱recyclerview的边界
- python-3.x - 从 tf.train.Checkpoint.save 覆盖检查点文件
- javascript - 动态添加/删除列
- node.js - 电子中的奇怪错误。未捕获的异常:TypeError [ERR_INVALID_ARG_TYPE]:“路径”