• 第二章 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安装完毕
    
  • 相关阅读:
    C#中的委托,匿名方法和Lambda表达式
    模式化窗口问题![window.dialogArguments]
    js动态改变HiddenField值,后台不能获取值的问题
    将DataTable进行分页并生成新的DataTable
    出错提示为:该行已经属于另一个表 的解决方法
    如何在服务器端获得showModalDialog传递的参数
    Synchronized和SyncRoot与 集合类 的同步
    Oracle中数据出现####的问题
    如何防止多次提交按钮造成重复提交
    Invoke and BeginInvoke
  • 原文地址:https://www.cnblogs.com/jhno1/p/16482096.html
Copyright © 2020-2023  润新知