前言

Node.js是一个开源的 JavaScript 运行时环境。由于 Node.js 拥有活跃的用户社区,因此每隔几周就会对软件进行一次小更新,执行一些软件时对Node.js的版本有依赖关系导致执行失败,因此需要对node.js不定时进行升级。
在第一次做升级的时候遇到一些问题,因此记录一下,避免日后遇到此类问题再次踩坑!!!

Linux 系统

使用 NVM

  • NVM 是Node.js 版本管理器
  • 升级 Node.js 的最佳方式
> ## 步骤1 安装nvm  使用curl或者wget 安装
> curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
> wget -q0- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
> # 若没有curl命令,使用此命令安装 sudo apt install curl
> ## 步骤2 关闭并重新打开终端让系统识别mvn
> source ~/.bashrc
> ## 步骤3 验证是否正常安装 nvm
> nvm --version
> ## 步骤4 在升级node.js前,先检查在系统上运行的是哪个版本
> nvm ls 
> ## 步骤5 检查新的可用版本
> nvm ls-remote
> ## 步骤6 安装指定版本/最新版本
> nvm install [v17.3.0]

使用 NPM

  • NPM是一个安装和管理包依赖的工具
  • 通过添加 N 模块,来管理node.js版本
  • 不推荐该方式,版本不对应时升级node.js会导致npm命令无法使用
> ## 步骤1 先清除npm缓存
> npm cache clean -f
> ## 步骤2 安装模块n, node的版本管理器,名字有点奇怪
> npm install -g n
> ## 步骤3 安装node.js
> ## 步骤3.1 安装最新的稳定版
> sudo n stable
> # 若运行n命令后以输出command not found,请尝试如下方式
> # sudo -E env "PATH=$PATH" [command]
> sudo -E env "PATH=$PATH" n stable
> ## 步骤3.2 安装最新版
> sudo n latest
> ## 步骤3.3 安装特定版本
> sudo n [version.number]
> 例子:sudo n v14.17.0  # 安装 node.js v14.17.0

使用二进制包

  • 不推荐

  • 可以升级到最新版

  • 安装步骤如下:

  • 1.Node官方下载页面: 官方地址
    在这里插入图片描述

  • 2.找到需要的版本号使用wget进行下载

    wget https://nodejs.org/dist/v16.13.1/node-v16.13.1-linux-x64.tar.xz
    
  • 3.解压并安装包

    sudo tar -C /usr/local --strip-components 1 -xJf node-v16.13.1-linux-x64.tar.xz
    
  • 4.若缺少tar命令,使用如下方式安装

    sudo apt-get install xz-utils
    

Mac系统

安装

  • 1.Node官方下载页面: 官方地址
  • 2.下载完成,运行安装程序
  • 3.Node.js 安装向导出现并引导您完成安装

更新

  • 参见 linux使用 NPM的方式更新

Windows系统

  • 参见 Mac系统的安装

其他问题

指定默认版本

  • 升级完成之后可能会有多个版本共存的问题,请使用如下命令更新版本

    nvm alias default v17.3.0
    

npm与node版本不一致

  • 查找版本对应关系的地址:https://nodejs.org/zh-cn/download/releases/
    在这里插入图片描述
> # 升级到指定版本
> npm install -g npm@8.3.1

参考博客:

  1. https://www.dev0101.com/ru-he-jiang-node-js-geng-xin-dao-zui-xin-ban-ben-linux-windows-he-macos/
  2. https://www.jb51.net/article/52409.htm
  3. https://blog.csdn.net/terrychinaz/article/details/112350077
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐