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
相关推荐
c语言鹌鹑蛋12 小时前
【进程间通信】--- 匿名管道,命名管道
linux
江輕木12 小时前
如何使用宿主机软件共享网络给CentOS 7
linux·运维·服务器
代码一天不写我浑森蓝廋12 小时前
CentOS7 使用 centos-release-scl-rh yum库安装 devtoolset
linux·centos·gcc·devtoolset
郁大锤12 小时前
conda虚拟环境占用空间太多,如何清理?
linux·conda
Luna-player12 小时前
npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本,解决方法
前端·npm·node.js
悢七12 小时前
windows npm打包无问题,但linux npm打包后部分样式缺失
linux·前端·npm
The Chosen One98512 小时前
【Linux】Linux下基本指令:man echo cp mv move less date grep zip tar 指令以及指令的本质
linux·运维·服务器
退役小学生呀13 小时前
二十二、DevOps:基于Tekton的云原生平台落地(三)
linux·云原生·容器·kubernetes·k8s·devops·tekton
君以思为故13 小时前
认识linux -- 编辑器vim以及编译器gcc/g++和Makefile文件
linux·编辑器·vim
王道长服务器 | 亚马逊云13 小时前
AWS + Discuz!:社区站架构的现代化玩法
linux·网络·云计算·智能路由器·aws