Node.js 如何在特定节点版本上运行pm2?

Node.js 如何在特定节点版本上运行pm2?,node.js,pm2,Node.js,Pm2,我们的linux服务器上运行着几种不同版本的node,我的服务基于node v0.11.14。但是,其他人的代码必须在较低版本的节点(低于v0.11)上运行,否则他们的服务将停止服务。因此,我不能将全局节点版本定义为v0.11。我只想运行pm2来监控基于节点v0.11的服务 是否可以在不更改全局节点版本的情况下在节点v0.11上运行我的pm2?谢谢安装 然后安装特定的节点版本: nvm install 0.11.14 而不是在shell中使用特定版本: nvm use 0.11.14 nod

我们的linux服务器上运行着几种不同版本的node,我的服务基于node v0.11.14。但是,其他人的代码必须在较低版本的节点(低于v0.11)上运行,否则他们的服务将停止服务。因此,我不能将全局节点版本定义为v0.11。我只想运行pm2来监控基于节点v0.11的服务

是否可以在不更改全局节点版本的情况下在节点v0.11上运行我的pm2?谢谢安装

然后安装特定的节点版本:

nvm install 0.11.14
而不是在shell中使用特定版本:

nvm use 0.11.14

node -v // v0.11.14

同时运行多个版本。在
pm2
中,您可以使用
--解释器
选项并指定所需节点版本的路径


如果对版本使用
n
,请运行
n bin v4.2.0
以获取此节点版本的路径。

请阅读以下线程:

我相信你想绕过nvm,但相信我,它可以节省你很多时间

您可以在线程中找到来自pm2所有者本身的注释,该注释说明您可以在不同的节点版本上运行多个应用程序,以下是JSON conf内容:

{
应用程序:[{
名称:“API”,
脚本:“api.js”,
翻译:'node@6.9.1'
}]

}
使用pm2并使用带节点版本绝对路径的--解释器标志指定节点版本:

sudo pm2 start app.js --interpreter=/home/ken/.nvm/v4.4.2/bin/node

等等

如果在我提到的任何地方更改节点版本,
--解释器=“***..”
应用程序将以精确的节点版本运行

完成上述验证方法后,请使用以下命令

sudo pm2 show 'app name'

感谢您的回答,但是将
nvm使用0.11.14
让全局节点版本更改为v0.11.14吗?nvm基本上是一个shell函数,因此根本没有全局更改,使用nvm设置的版本绑定到shell sessionFYI,您可以在使用nvm的不同节点版本上全局安装每个用户一个nvm和每个用户一个pm2。我想添加节点
11
不稳定,但
12
不稳定;)。非常感谢你!我要试一试!:)上次我检查时,它在集群模式下被破坏了。它现在可以工作了吗?@TuanAnhTran我在集群模式下没有任何问题。如果使用集群模式,在执行此操作时,请记住一点。。。。[PM2][WARN]不支持在群集模式下选择Node.js版本。这意味着,你的所有应用程序都需要使用与pm2执行源相同的node版本。在ubuntu for
nvm version 0.33.5
上,我不得不使用这个:
sudo pm2 start app.js--explorer=/home/ken/.nvm/verions/node/v7.4.0/bin/node
sudo pm2 show 'app name'