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
相关推荐
清灵xmf6 小时前
npm install --legacy-peer-deps:它到底做了什么,什么时候该用?
前端·npm·node.js
乌龙玛奇朵5196 小时前
Finalshell建立连接
linux
Maple_land7 小时前
Linux进程第八讲——进程状态全景解析(二):从阻塞到消亡的完整生命周期
linux·运维·服务器·c++·centos
嵌入式分享7 小时前
嵌入式分享#41:RK3576改UART波特率【精简版】
linux·嵌入式硬件·ubuntu·嵌入式
爱吃生蚝的于勒7 小时前
【Linux】零基础学会Linux之权限
linux·运维·服务器·数据结构·git·算法·github
惜.己7 小时前
linux中jenkins正常启动外部无法访问
linux·servlet·jenkins
只_只7 小时前
npm install sqlite3时报错解决
前端·npm·node.js
Cyan_RA97 小时前
Linux 远程Ubuntu服务器本地部署大模型 EmoLLM 中常见的问题及解决方案 万字详解
linux·运维·服务器·ubuntu·大模型·远程部署·emollm
全马必破三7 小时前
Buffer:Node.js 里处理二进制数据的 “小工具”
前端·node.js