--- title: Debian 12 安装nodejs description: 在Debian 12 中安装nodejs date: 2025-05-25 img: https://lijue-me.oss-cn-chengdu.aliyuncs.com/20250618160517581.png navigation: icon: simple-icons:debian --- ### **方法 1:使用 Debian 官方仓库(简单但不一定最新)** ```bash # 更新软件包列表 sudo apt update # 安装 Node.js 和 npm sudo apt install -y nodejs npm # 验证安装 node -v npm -v ``` **特点**: - 安装最简单快捷 - 版本可能较旧(Debian 12 默认提供 Node.js 18.x) - 适合不需要最新版本的用户 --- ### **方法2:使用volta安装** ```bash # On most Unix systems including macOS, you can install with a single command: curl https://get.volta.sh | bash # Download and install Node.js: volta install node@22 # Verify the Node.js version: node -v # Should print "v22.16.0". # Verify npm version: npm -v # Should print "10.9.2". # Download and install pnpm: volta install pnpm # Verify pnpm version: pnpm -v # Should print "10.12.1". ``` --- ### **方法 3:手动下载二进制包(灵活选择版本)** [官网](https://nodejs.org/) ```bash # 1. 下载指定版本(示例为 v20.x) wget https://nodejs.org/dist/v22.16.0/node-v22.16.0-linux-x64.tar.xz # 创建目录 sudo mkdir -p /usr/local/lib/nodejs # 解压 sudo tar -xJf node-v22.16.0-linux-x64.tar.xz -C /usr/local/lib/nodejs # 创建对应的软链接 # 创建 node 软链 sudo ln -s /usr/local/lib/nodejs/node-v22.16.0-linux-x64/bin/node /usr/bin/node # 创建 npm 软链 sudo ln -s /usr/local/lib/nodejs/node-v22.16.0-linux-x64/bin/npm /usr/bin/npm # 创建 npx 软链 sudo ln -s /usr/local/lib/nodejs/node-v22.16.0-linux-x64/bin/npx /usr/bin/npx # 在~/.bashrc文件末尾中加入nodejs到PATH环境变量中 export PATH=/usr/local/lib/node-v22.16.0-linux-x64/bin:$PATH # 重载 ~/.profile source ~/.bashrc # 4. 验证安装 node -v npm -v ``` **特点**: - 可自由选择任何版本 - 不依赖系统仓库 - 需要手动更新版本 --- ### **安装 pnpm、yarn、bun、cpnm** 如果没有配置镜像加速,先配置加速: ```bash npm config set registry https://registry.npmmirror.com ``` #### **安装 cnpm** ```bash # 全局安装 sudo npm install -g cnpm --registry=https://registry.npmmirror.com # 查看安装情况 ls -la /usr/local/lib/nodejs/node-v22.16.0-linux-x64/bin # 创建 cnpm 软链 sudo ln -s /usr/local/lib/nodejs/node-v22.16.0-linux-x64/bin/cnpm /usr/bin/cnpm # 查看版本 cnpm -v ``` #### **安装 pnpm** ```bash # 全局安装 sudo npm install -g pnpm # 查看安装情况 ls -la /usr/local/lib/nodejs/node-v22.16.0-linux-x64/bin # 创建 pnpm 软链 sudo ln -s /usr/local/lib/nodejs/node-v22.16.0-linux-x64/bin/npx /usr/bin/pnpm # 查看版本 pnpm -v ``` #### **安装 yarn** ```bash # 全局安装 sudo npm install -g yarn # 查看 ls -la /usr/local/lib/nodejs/node-v22.16.0-linux-x64/bin # 创建 yarn 软链 sudo ln -s /usr/local/lib/nodejs/node-v22.16.0-linux-x64/bin/npx /usr/bin/yarn # 查看版本 yarn -v ``` #### **安装 bun** Linux用户-安装Bun需要解压缩包。使用 `sudo apt install unzip` 安装解压包。强烈建议使用5.6或更高版本的内核,但最低版本为5.1。使用 `uname -r` 检查内核版本。 ```bash # 全局安装 sudo cnpm install -g bun # 查看 ls -la /usr/local/lib/nodejs/node-v22.16.0-linux-x64/bin # 创建 bun 软链 sudo ln -s /usr/local/lib/nodejs/node-v22.16.0-linux-x64/bin/bun /usr/bin/bun # 查看版本 bun -v ``` --- ### **切换版本** 如需切换版本,例如 `v18.20.7`,可以删除现有的软链接: ```bash sudo rm /usr/bin/node sudo rm /usr/bin/npm sudo rm /usr/bin/npx sudo rm /usr/bin/pnpm sudo rm /usr/bin/yarn sudo rm /usr/bin/bun sudo rm /usr/bin/cnpm ``` 创建新的软链接: ```bash sudo ln -s /usr/local/lib/nodejs/node-v18.20.7-linux-x64/bin/node /usr/bin/node sudo ln -s /usr/local/lib/nodejs/node-v18.20.7-linux-x64/bin/npm /usr/bin/npm sudo ln -s /usr/local/lib/nodejs/node-v18.20.7-linux-x64/bin/npx /usr/bin/npx sudo ln -s /usr/local/lib/nodejs/node-v18.20.7-linux-x64/bin/pnpm /usr/bin/pnpm sudo ln -s /usr/local/lib/nodejs/node-v18.20.7-linux-x64/bin/bun /usr/bin/bun sudo ln -s /usr/local/lib/nodejs/node-v18.20.7-linux-x64/bin/cnpm /usr/bin/cnpm ``` 验证安装: ```bash node -v npm -v npx -v pnpm -v yarn -v ``` 查看当前配置: ```bash npm config list --json ``` --- ### **方法 3:fnm方式安装(不推荐)** #### **npm** ```bash # Download and install fnm: curl -o- https://fnm.vercel.app/install | bash # Download and install Node.js: fnm install 22 # Verify the Node.js version: node -v # Should print "v22.16.0". # Verify npm version: npm -v # Should print "10.9.2". ``` #### **yarn** ```bash # Download and install Yarn: corepack enable yarn # Verify Yarn version: yarn -v ``` #### **pnpm** ```bash # Download and install pnpm: corepack enable pnpm # Verify pnpm version: pnpm -v ``` #### **nodejs包镜像加速** ```bash npm config set registry https://registry.npmmirror.com ``` --- ### **对比 npm、Yarn、pnpm** | 特性 | npm | Yarn (v1/Yarn Classic) | Yarn Berry (v2+) | pnpm | |---------------------------|------------------------------|------------------------------|------------------------------|------------------------------| | **发布时间** | 2010 (Node.js 自带) | 2016 (Facebook 推出) | 2020 (Yarn 2.0 重大更新) | 2017 (独立发展) | | **安装速度** | ⏳ 慢(线性安装) | 🚀 较快(并行下载) | 🚀 快(改进缓存) | ⚡ 极快(硬链接 + 符号链接) | | **依赖管理** | node_modules 嵌套结构 | node_modules 扁平化 | Plug’n’Play (PnP) 无 node_modules | 硬链接 + 全局存储(节省空间) | | **缓存机制** | 有缓存,但效率一般 | 缓存优化较好 | 增量缓存 + 零安装(Zero-Installs) | 全局存储,依赖可复用 | | **锁文件** | package-lock.json | yarn.lock | yarn.lock + .pnp.cjs | pnpm-lock.yaml | | **安全性** | 🔒 一般(依赖可能被篡改) | 🔒 较好(校验严格) | 🔒 最好(离线模式 + 校验) | 🔒 最好(内容可寻址存储) | | **Monorepo 支持** | 有限(需配合 Lerna) | 支持 Workspaces | 原生 Workspaces + PnP | 原生 Workspaces + 高效链接 | | **磁盘占用** | 高(重复依赖多) | 中(扁平化减少重复) | 低(PnP 无 node_modules) | 极低(全局存储 + 硬链接) | | **命令行体验** | 基础功能 | 更友好(进度条、交互提示) | 现代化(插件系统) | 简洁高效 | | **兼容性** | 100% 兼容 Node.js | 兼容 npm 生态 | 需适配 PnP(部分库不兼容) | 兼容 npm/Yarn 生态 | | **推荐场景** | 简单项目 / Node.js 默认 | 旧项目迁移 / 稳定需求 | 大型 Monorepo / 严格依赖控制 | 高效开发 / 节省磁盘空间 |