在 Ubuntu 上安装 NVM (Node Version Manager) 的步骤

NVM (Node Version Manager) 是一个用于管理多个 Node.js 版本的工具,它允许您在同一台设备上安装、切换和管理不同版本的 Node.js。以下是在 Ubuntu 上安装 NVM 的详细步骤:

安装前准备

可先在windows上安装ubuntu

参考链接:https://blog.csdn.net/qq_41472205/article/details/147704718

如果您已经安装了 Node.js,建议先卸载它以避免与 NVM 产生冲突 1:

bash 复制代码
sudo apt remove nodejs
sudo apt purge nodejs
sudo apt autoremove

安装 NVM

  1. 首先,确保您的系统已安装必要的构建工具(对于从源代码编译 Node.js 可能需要)2:
bash 复制代码
sudo apt update
sudo apt install build-essential libssl-dev
  1. 使用 curl 下载并运行 NVM 安装脚本 2:
bash 复制代码
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

或者使用 wget:

bash 复制代码
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
  1. 安装脚本会将 NVM 存储库克隆到 ~/.nvm 目录,并添加必要的配置到您的配置文件(~/.bash_profile~/.zshrc~/.profile~/.bashrc)5。

  2. 要使这些更改生效,您可以关闭并重新打开终端,或者运行以下命令 2:

bash 复制代码
source ~/.bashrc  # 如果您使用的是 bash
# 或
source ~/.zshrc   # 如果您使用的是 zsh

验证安装

安装完成后,验证 NVM 是否正确安装 4:

bash 复制代码
command -v nvm

或者检查 NVM 版本:

bash 复制代码
nvm --version

如果安装成功,上述命令将显示 NVM 的版本号。

使用 NVM 安装 Node.js

  1. 查看可用的 Node.js 版本:
bash 复制代码
nvm ls-remote
  1. 安装特定版本的 Node.js:
bash 复制代码
nvm install 16.20.0  # 安装指定版本
  1. 安装最新的 LTS(长期支持)版本 2:
bash 复制代码
nvm install --lts

管理 Node.js 版本

  1. 列出已安装的 Node.js 版本:
bash 复制代码
nvm ls
  1. 切换到特定版本的 Node.js:
bash 复制代码
nvm use 16.20.0
  1. 设置默认的 Node.js 版本 1:
bash 复制代码
nvm alias default 16.20.0
  1. 验证当前使用的 Node.js 版本:
bash 复制代码
node -v

优势

NVM 的主要优势是它允许您 3 1:

  • 在同一台设备上安装和管理多个 Node.js 版本
  • 轻松切换不同项目所需的 Node.js 版本
  • 测试应用程序在不同 Node.js 版本上的兼容性
  • 无需 sudo 权限即可安装全局 npm 包(因为 NVM 将所有内容安装在用户目录中)

通过这些步骤,您应该能够成功安装 NVM 并使用它来管理您的 Node.js 环境。

相关推荐
小阳睡不醒2 小时前
小白成长之路-部署Zabbix7(二)
android·运维
mCell3 小时前
从删库到跑路?这50个Linux命令能保你职业生涯
linux·windows·macos
杰克逊的日记3 小时前
GPU运维常见问题处理
linux·运维·gpu
caolib3 小时前
无需云服务器的内网穿透方案 -- cloudflare tunnel
运维·服务器·内网穿透·tunnel·cloudflared
奇舞精选3 小时前
k8s基本概念初探
运维
誰能久伴不乏4 小时前
Linux系统调用概述与实现:深入浅出的解析
linux·运维·服务器
程序员学习随笔4 小时前
Linux进程深度解析(2):fork/exec写时拷贝性能优化与exit资源回收机制(进程创建和销毁)
linux·运维·服务器
mmoyula4 小时前
【RK3568 PWM 子系统(SG90)驱动开发详解】
android·linux·驱动开发
-SGlow-4 小时前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql
代码改变世界ctw5 小时前
Linux内核设计与实现 - 第14章 块I/O层
linux·运维·服务器