第二章 Nodejs多版本共存部署

第二章 Nodejs多版本共存部署

1.项目背景

公司新前端项目上线,原nodejs版本为v12.18.2,不能满足新项目的上线需求,需要新部署nodes长期稳定版本v16.15.1。但由于旧项目仍然编译打包使用旧版本,因此需要两个nodejs共存使用。

2.环境准备

主机名 joyuai-devbuild5-225
IP地址 10.200.5.15
原nodejs版本 v12.18.2
新nodejs版本 v16.15.1

3.部署过程

3.1 验证旧nodejs位置

[root@joyuai-devbuild5-225 ~]# type node
node is /usr/local/node//bin/node

3.2 下载node 16安装包

#1.新建安装包存放目录并下载新nodejs安装包
[root@joyuai-devbuild5-225 ~]# mkdir -p /opt/software/ && cd /opt/software/
[root@joyuai-devbuild5-225 software]# wget https://nodejs.org/dist/v16.15.1/node-v16.15.1-linux-x64.tar.xz

#2.查看安装包
[root@joyuai-devbuild5-225 software]# ll
total 126132
-rw-r--r--. 1 root root 22041388 Jun  2 03:17 node-v16.15.1-linux-x64.tar.xz

3.3 解压node 16安装包并重命名

[root@joyuai-devbuild5-225 software]# tar xf node-v16.15.1-linux-x64.tar.xz  -C /opt/

[root@joyuai-devbuild5-225 software]# cd /opt/
[root@joyuai-devbuild5-225 opt]# ll
total 4
drwxr-xr-x. 7 1001 1001  173 Jun 17 12:07 node-v16.15.1-linux-x64

[root@joyuai-devbuild5-225 opt]# mv node-v16.15.1-linux-x64 node16

3.4 修改node 16全局配置

[root@joyuai-devbuild5-225 opt]# cd node16/bin/

#1.配置node16全局变量
[root@joyuai-devbuild5-225 bin]# mv node node16
[root@joyuai-devbuild5-225 bin]# ln -s /opt/node16/bin/node16  /usr/bin/node16

#2.验证node16全局变量
[root@joyuai-devbuild5-225 bin]# ll /usr/bin/node16 
lrwxrwxrwx. 1 root root 22 Jun 17 12:30 /usr/bin/node16 -> /opt/node16/bin/node16
[root@joyuai-devbuild5-225 bin]# type node16
node16 is /opt/node16/bin/node16

#3.修改npm16全局变量
[root@joyuai-devbuild5-225 bin]# mv npm npm16
[root@joyuai-devbuild5-225 bin]# vim npm16 
#!/usr/bin/env node16  将node改为node16

#4.修改npx16全局变量
[root@joyuai-devbuild5-225 bin]# mv npx npx16
[root@joyuai-devbuild5-225 bin]# vim npx16 
#!/usr/bin/env node16 将node改为node16

#5.修改corepack全局变量
[root@joyuai-devbuild5-225 bin]# mv corepack  corepack16
[root@joyuai-devbuild5-225 bin]# vim corepack16
#!/usr/bin/env node16 将node改为node16

#6.查看总的修改
[root@joyuai-devbuild5-225 bin]# ll
total 79276
lrwxrwxrwx. 1 1001 1001       45 Jun  2 03:16 corepack16 -> ../lib/node_modules/corepack/dist/corepack.js
-rwxr-xr-x. 1 1001 1001 81175592 Jun  2 03:16 node16
lrwxrwxrwx. 1 1001 1001       38 Jun  2 03:16 npm16 -> ../lib/node_modules/npm/bin/npm-cli.js
lrwxrwxrwx. 1 1001 1001       38 Jun  2 03:16 npx16 -> ../lib/node_modules/npm/bin/npx-cli.js

3.5 安装yarn和pnpm

#1.安装yarn和pnpm
[root@joyuai-devbuild5-225 bin]# cd ..
[root@joyuai-devbuild5-225 node16]# npm16 install yarn
[root@joyuai-devbuild5-225 node16]# npm16 install pnpm

#2.配置软连接
[root@joyuai-devbuild5-225 node16]# cd bin/
[root@joyuai-devbuild5-225 bin]# ln -s ../lib/node_modules/corepack/dist/yarn.js yarn16
[root@joyuai-devbuild5-225 bin]# ln -s  ../lib/node_modules/corepack/dist/pnpm.js pnpm16
[root@joyuai-devbuild5-225 bin]# ln -s ../lib/node_modules/corepack/dist/yarn.js yarnpkg16

#3.修改yarn和pnpm的node变量
[root@joyuai-devbuild5-225 bin]# vim yarn16
#!/usr/bin/env node16

[root@joyuai-devbuild5-225 bin]# vim pnpm16 
#!/usr/bin/env node16

#4.总修改
[root@joyuai-devbuild5-225 bin]# ll
total 79276
lrwxrwxrwx. 1 1001 1001       45 Jun  2 03:16 corepack16 -> ../lib/node_modules/corepack/dist/corepack.js
-rwxr-xr-x. 1 1001 1001 81175592 Jun  2 03:16 node16
lrwxrwxrwx. 1 1001 1001       38 Jun  2 03:16 npm16 -> ../lib/node_modules/npm/bin/npm-cli.js
lrwxrwxrwx. 1 1001 1001       38 Jun  2 03:16 npx16 -> ../lib/node_modules/npm/bin/npx-cli.js
lrwxrwxrwx. 1 root root       41 Jun 17 12:10 pnpm16 -> ../lib/node_modules/corepack/dist/pnpm.js
lrwxrwxrwx. 1 root root       41 Jun 17 12:10 yarn16 -> ../lib/node_modules/corepack/dist/yarn.js
lrwxrwxrwx. 1 root root       41 Jun 17 12:38 yarnpkg16 -> ../lib/node_modules/corepack/dist/yarn.js

4.验证版本

[root@joyuai-devbuild5-225 ~]# node16 -v
v16.15.1
[root@joyuai-devbuild5-225 ~]# npm16 -v
8.11.0
[root@joyuai-devbuild5-225 ~]# yarn16 -v
1.22.15
[root@joyuai-devbuild5-225 ~]# pnpm16 -v
6.11.0

至此新版本node 16安装完毕
posted @ 2022-07-15 17:08  年少纵马且长歌  阅读(2370)  评论(0编辑  收藏  举报