【发布时间】:2019-12-31 07:55:50
【问题描述】:
我们有两个节点 js 应用程序。这两个应用程序不能在同一个node版本下工作,一个应用程序只工作在node4.8.3另一个应用程序只工作在node10.15.1。
我们如何在同一台服务器上同时运行不同的 Node.js 版本?
【问题讨论】:
-
一种选择是使用 docker。
我们有两个节点 js 应用程序。这两个应用程序不能在同一个node版本下工作,一个应用程序只工作在node4.8.3另一个应用程序只工作在node10.15.1。
我们如何在同一台服务器上同时运行不同的 Node.js 版本?
【问题讨论】:
使用 NVM 安装两个不同版本的 nodejs。然后在运行时切换到相应的节点版本。
【讨论】:
您可以使用 docker 同时运行多个 Nodejs 版本。 这可能对您有用: https://nodesource.com/blog/containerizing-node-js-applications-with-docker
https://blog.hasura.io/an-exhaustive-guide-to-writing-dockerfiles-for-node-js-web-apps-bbee6bd2f3c4/
互联网上还有其他有用的资源可用于在 docker 上将 Node 应用程序容器化。
Docker 在这里可能是一个更好的选择,但如果您不想使用 docker,您可以使用 nvm run 命令来定位特定版本,而无需切换节点变量:
nvm run 4.8.3 nodeapp1.js
对于其他节点版本:
nvm run 10.15.1 nodeapp2.js
永远使用:
forever start -c /home/ubuntu/.nvm/v10.15.3/bin/node nodeapp1.js
forever start -c /home/ubuntu/.nvm/v4.8.3/bin/node nodeapp2.js
【讨论】:
forever start -c /home/ubuntu/.nvm/v10.15.3/bin/node nodeapp1.jsforever start -c /home/ubuntu/.nvm/v4.8.3/bin/node nodeapp2.js