7.3 KiB
7.3 KiB
title, description, date, img, navigation
title | description | date | img | navigation | ||
---|---|---|---|---|---|---|
Debian 12 安装nodejs | 在Debian 12 中安装nodejs | 2025-05-25 | https://lijue-me.oss-cn-chengdu.aliyuncs.com/20250618160517581.png |
|
方法 1:使用 Debian 官方仓库(简单但不一定最新)
# 更新软件包列表
sudo apt update
# 安装 Node.js 和 npm
sudo apt install -y nodejs npm
# 验证安装
node -v
npm -v
特点:
- 安装最简单快捷
- 版本可能较旧(Debian 12 默认提供 Node.js 18.x)
- 适合不需要最新版本的用户
方法2:使用volta安装
# 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:手动下载二进制包(灵活选择版本)
# 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
如果没有配置镜像加速,先配置加速:
npm config set registry https://registry.npmmirror.com
安装 cnpm
# 全局安装
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
# 全局安装
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
# 全局安装
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
检查内核版本。
# 全局安装
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
,可以删除现有的软链接:
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
创建新的软链接:
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
验证安装:
node -v
npm -v
npx -v
pnpm -v
yarn -v
查看当前配置:
npm config list --json
方法 3:fnm方式安装(不推荐)
npm
# 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
# Download and install Yarn:
corepack enable yarn
# Verify Yarn version:
yarn -v
pnpm
# Download and install pnpm:
corepack enable pnpm
# Verify pnpm version:
pnpm -v
nodejs包镜像加速
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 / 严格依赖控制 | 高效开发 / 节省磁盘空间 |