---
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 / 严格依赖控制 | 高效开发 / 节省磁盘空间      |
