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
相关推荐
凡人叶枫7 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
没事别瞎琢磨7 小时前
六、输出捕获与截断
人工智能·node.js
云栖梦泽7 小时前
玩转RK3506SDK
linux·嵌入式硬件
没事别瞎琢磨7 小时前
七、敏感路径预检——Protected Paths
人工智能·node.js
没事别瞎琢磨7 小时前
五、进程执行——spawn、超时与进程树清理
人工智能·node.js
没事别瞎琢磨7 小时前
四、命令风险分级与审批策略
人工智能·node.js
Java面试题总结7 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
没事别瞎琢磨8 小时前
三、配置系统——默认值与解析
人工智能·node.js
kong@react8 小时前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker
凡人叶枫9 小时前
Effective C++ 条款07:为多态基类声明 virtual 析构函数
linux·c语言·开发语言·c++