Linux环境下Node.js任意版本安装与pnpm、yarn包管理

一、Node.js版本管理器NVM安装与使用

1.1 NVM简介

NVM(Node Version Manager)是一个Node.js版本管理工具,允许在同一台机器上轻松切换不同版本的Node.js。它是Linux环境下管理Node.js版本的最佳选择。

1.2 安装NVM

使用以下命令安装NVM:

bash 复制代码
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

或者使用wget:

bash 复制代码
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

安装完成后,重新加载shell配置:

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

验证NVM安装:

bash 复制代码
command -v nvm

1.3 NVM常用命令

安装Node.js版本
bash 复制代码
# 安装最新的LTS版本
nvm install --lts

# 安装指定版本
nvm install 20.17.0

# 安装最新版本
nvm install node
切换Node.js版本
bash 复制代码
# 切换到指定版本
nvm use 20.17.0

# 切换到最新的LTS版本
nvm use --lts
查看已安装版本
bash 复制代码
# 列出已安装的版本
nvm ls

# 列出所有可安装的远程版本
nvm ls-remote
设置默认版本
bash 复制代码
# 设置默认版本
nvm alias default 20.17.0
卸载Node.js版本
bash 复制代码
nvm uninstall 20.17.0

二、pnpm安装与配置

2.1 pnpm简介

pnpm是一个快速、节省磁盘空间的包管理器,相比npm具有更好的性能和更严格的依赖管理。

2.2 安装pnpm

方法一:使用独立脚本(推荐)
bash 复制代码
curl -fsSL https://get.pnpm.io/install.sh | sh -

或者使用wget:

bash 复制代码
wget -qO- https://get.pnpm.io/install.sh | sh -
方法二:使用Corepack(Node.js >= 16.13)
bash 复制代码
# 启用Corepack
corepack enable

# 安装最新版pnpm
corepack prepare pnpm@latest --activate
方法三:使用npm安装
bash 复制代码
npm install -g pnpm

2.3 安装特定版本的pnpm

bash 复制代码
curl -fsSL https://get.pnpm.io/install.sh | env PNPM_VERSION=9.0.0 sh -

2.4 验证pnpm安装

bash 复制代码
pnpm --version

三、yarn安装与配置

3.1 yarn简介

Yarn是Facebook开发的包管理器,专注于速度、安全性和一致性。

3.2 安装yarn

方法一:使用Corepack(推荐)
bash 复制代码
# 启用Corepack
corepack enable

# 安装最新版yarn
corepack prepare yarn@stable --activate
方法二:使用npm安装
bash 复制代码
npm install -g yarn
方法三:使用官方脚本
bash 复制代码
curl -o- -L https://yarnpkg.com/install.sh | bash

3.3 验证yarn安装

bash 复制代码
yarn --version

四、包管理器常用命令对比

4.1 项目初始化

操作 npm yarn pnpm
初始化项目 npm init yarn init pnpm init

4.2 依赖安装

操作 npm yarn pnpm
安装所有依赖 npm install yarn install pnpm install
安装特定包 npm install <package> yarn add <package> pnpm add <package>
安装开发依赖 npm install <package> --save-dev yarn add <package> --dev pnpm add <package> --save-dev
全局安装 npm install <package> -g yarn global add <package> pnpm add <package> -g

4.3 依赖管理

操作 npm yarn pnpm
卸载包 npm uninstall <package> yarn remove <package> pnpm uninstall <package>
更新包 npm update <package> yarn upgrade <package> pnpm update <package>
查看已安装包 npm list --depth=0 yarn list --depth=0 pnpm list --depth=0

4.4 脚本执行

操作 npm yarn pnpm
运行脚本 npm run <script> yarn <script> pnpm <script>
查看可用脚本 npm run yarn run pnpm run

4.5 缓存管理

操作 npm yarn pnpm
清理缓存 npm cache clean yarn cache clean pnpm store prune

五、实践与注意事项

5.1 版本管理最佳实践

  1. 使用LTS版本:生产环境建议使用Node.js的LTS(长期支持)版本
  2. 项目版本锁定 :在项目中使用.nvmrc文件指定Node.js版本
  3. 避免sudo:不要使用sudo安装全局包,使用nvm管理用户级安装

5.2 包管理器选择建议

  • npm:适合初学者,Node.js内置,兼容性最好
  • yarn:适合大型项目,依赖安装速度快,工作区支持好
  • pnpm:适合磁盘空间敏感环境,依赖管理严格,节省空间

5.3 常见问题解决

NVM命令找不到
bash 复制代码
# 重新加载配置文件
source ~/.bashrc

# 或者手动加载nvm
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
权限问题
bash 复制代码
# 检查nvm安装目录权限
ls -la ~/.nvm

# 如果权限不正确,修复权限
chown -R $USER:$USER ~/.nvm
包安装失败
bash 复制代码
# 清理缓存后重试
npm cache clean --force
# 或
yarn cache clean
# 或
pnpm store prune
相关推荐
Lueeee.7 小时前
内核menuconfig配置实验
linux
遇见火星8 小时前
常见Systemctl语句
linux·服务器·网络·systemctl
月明长歌8 小时前
【码道初阶】【LeetCode 110】平衡二叉树:如何用一个“Magic Number”将复杂度从O(N²)降为 O(N)?
linux·算法·leetcode
齐鲁大虾8 小时前
国产 Linux 系统核心优缺点与适用场景
linux·运维·服务器
skywalk81638 小时前
webvm 用浏览器启动的虚拟环境
linux·wasm
Awkwardx8 小时前
Linux网络编程—数据链路层
linux·运维·网络
hxmmm9 小时前
自定义封装 vue多页项目新增项目脚手架
前端·javascript·node.js
濮水大叔9 小时前
VonaJS是如何做到文件级别精确HMR(热更新)的?
typescript·node.js·nestjs
kevin_水滴石穿9 小时前
在镜像生成时从内网获取字体安装包并配置
linux·docker·容器
liwenzhen20059 小时前
Linux OOM 问题之 DMSERVER 受害者
linux·运维·oom