【发布时间】:2017-01-17 18:23:06
【问题描述】:
以前,我在我的 ec2 服务器上安装了节点版本 v0.10.46。对于最近的一个项目,我决定尝试使用 pm2 并使用
npm install pm2 -g.
但是,pm2 start index.js 出错了,因为该项目使用了一些带有箭头函数和 let 关键字的 ES6 语法。
因此,我将使用 nvm 的 node 版本更新到最新的 v6.9.1,这也是我们在本地(windows)上开发时使用的相同版本。
但是,pm2 start index.js 再次报错了同样的错误:
pm2 show index 提示 nodejs 版本仍未更新。我删除了旧的nodejs版本,重新安装了pm2,仍然无济于事。
我也尝试了其他方法,方法是:
pm2 start index.js --interpreter=~/.nvm/versions/node/v6.9.1/bin/node
强制 pm2 使用最新安装的节点版本。每次尝试使用相同版本的 nodejs 都会给我同样的错误。为什么Pm2不采用最新版本的node并坚持使用0.10.46?
如果有帮助:
which node
~/.nvm/versions/node/v6.9.1/bin/node
which pm2
~/.nvm/versions/node/v6.9.1/bin/pm2
另外,v0.10.46 没有使用 nvm 安装。
编辑:
以下是正在运行的 pm2 守护进程,使用 ps -ef | grep pm2:
请注意,ec2-user 是登录用户,我也尝试了与 root 用户相同的操作。我也以 root 用户身份安装了运行节点 v6.9.1 和 pm2 的 nvm,但没有成功。我得到同样的错误。
【问题讨论】:
-
pm2 守护进程是以与您登录时相同的用户身份运行,还是以不同的用户身份运行?
-
@Paul 更新了问题,希望对您有所帮助。是同一个用户。
标签: javascript node.js linux pm2 nvm