CNode

基于不同node版本的不兼容的应用可以在同一台服务器上部署吗?

问答
WWindTrace发布于9 年前最后回复9 年前11 回复5961 浏览0 收藏

比如我有一个是基于node v6.9.1的应用web1, 还有一个是基于node v7.6的应用web2 现在web1是不能在web2环境下运行的。 那么这两个应用可以在一台服务器上部署吗?

查看回复

回复 (11)

R
real888888#1·9 年前

docker

K
Keifergu#2·9 年前

较好的解决办法是用docker

I
i5ting#3·9 年前

nvm安装多个node,然后执行node时候使用绝对路径

W
WindTrace#4·9 年前

@real888888 @Keifergu @i5ting 多谢! 综合了一下,看来docker是一个挺好的选择。 而且现在我们项目组已经有人在研究docker了,估计不久就会用上:-D

R
rwing#5·9 年前

docker

A
atian25#6·9 年前

docker 是最佳选择。

另外,也可以用下 https://github.com/cnpm/nodeinstall ,把指定的 node 版本安装到 node_modules 下,用它来启动你的入口文件。

$ nodeinstall ^6.0.0
$ ./node_modules/.bin/node -v

在 ci 打包的时候,把 node 一起打进去,启动的时候 npm start 由于会自动把 ./node_modules/.bin/ 加到 PATH,故会优先选择当前项目下的 node。 这是我们之前在内网没有 docker 的时候实践。

W
WindTrace#7·9 年前

@atian25 多谢分享! 看到你提到了ci,这是个什么东东?我好想没用过

A
atian25#8·9 年前

自动集成, gitlab-ci / travis

P
plusmancn#9·9 年前

@WindTrace 可以把 node 安装到项目目录,可以参考这个 deploy.sh

W
WindTrace#10·9 年前

@atian25 多谢!

W
WindTrace#11·9 年前

@plusmancn 多谢,这个shell脚本我收藏了😁

参与回复
登录后即可参与回复。登录