温馨提示×

Ubuntu下Node.js版本如何切换

小樊
43
2025-12-02 21:11:54
栏目: 编程语言

Ubuntu下Node.js版本切换指南

方法一 NVM推荐

  • 安装或更新 NVM(Node Version Manager)
    • 使用 curl 或 wget 下载并执行安装脚本(示例为 v0.39.5,建议到 nvm-sh/nvm 仓库查看最新版本号再替换):
      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
      # 或
      wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
      
    • 重新加载当前会话,使 nvm 命令生效:
      source ~/.bashrc
      # 如使用 zsh
      source ~/.zshrc
      
  • 常用切换与管理命令
    • 安装指定版本(如:18.17.020.9.0),并自动安装对应 npm
      nvm install 18.17.0
      nvm install 20.9.0
      
    • 切换到已安装版本:
      nvm use 18.17.0
      
    • 查看已安装与可切换的版本:
      nvm ls
      
    • 设置默认版本(新开终端自动生效):
      nvm alias default 18.17.0
      
    • 安装并使用最新的 LTS 版本:
      nvm install --lts
      nvm use --lts
      
    • Major 版本使用最新小版本(如:18.x 最新):
      nvm install 18
      nvm use 18
      
  • 使用要点
    • NVM 是按用户安装与生效的,不会污染系统全局环境,适合在同一台机器维护多个项目的不同 Node 版本。

方法二 其他可选方案

  • asdf 通用版本管理器
    • 适合同时管理 Node.js、Python、Ruby 等多语言版本:
      # 安装 asdf(示例版本)
      git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.8.1
      echo '. ~/.asdf/asdf.sh' >> ~/.bashrc
      echo '. ~/.asdf/completions/asdf.bash' >> ~/.bashrc
      source ~/.bashrc
      
      # 安装 Node.js 插件
      asdf plugin-add nodejs https://github.com/asdf-vm/asdf-nodejs.git
      
      # 安装与切换
      asdf install nodejs 18.17.0
      asdf global nodejs 18.17.0      # 全局
      asdf local nodejs 16.20.2       # 仅当前项目目录
      
  • 系统仓库或 NodeSource 的 APT 安装
    • 适合希望使用系统包管理器统一维护的场景(切换版本通常需 apt 安装对应版本或切换仓库,较不灵活):
      # 示例:添加 NodeSource 14.x 仓库并安装
      curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
      sudo apt-get install -y nodejs
      
  • Docker 容器化
    • 以隔离方式使用指定版本,避免本机污染:
      docker run -it --rm -v $(pwd):/usr/src/app -w /usr/src/app node:18 bash
      
  • 方案选择建议
    • 需要频繁在多个项目间切换版本:优先 NVMasdf
    • 追求系统级统一与运维简单:考虑 NodeSource APT(但版本切换不够灵活)。
    • 强调环境隔离与可移植:使用 Docker

常见问题与排查

  • 运行 nvm 提示 command not found
    • 说明 nvm 未加载:执行 source ~/.bashrcsource ~/.zshrc;确认安装脚本已写入对应配置文件;必要时重开终端或新开登录会话。
  • 新开终端版本又变回旧版本
    • 未设置默认版本:执行 nvm alias default <version>;或在新终端中显式 nvm use <version>
  • 权限错误(EACCES)或全局包安装异常
    • 使用 NVM 可避免全局目录权限问题;若用系统 APT 安装,建议避免以 root 运行 npm,或使用 npm config set prefix 配置用户级目录。
  • 特定版本找不到或安装缓慢
    • 可更换镜像源或选择 LTS 版本;必要时升级 nvm 至最新脚本版本后再安装。

0