Node.js
Node.js® 是一个免费、开源、跨平台的 JavaScript 运行时环境,它让开发人员能够创建服务器、 Web 应用、命令行工具和脚本。
极简安装 Node.js 运行环境
Node.js 运行环境不依赖其他库,最简单的安装方式如下:
Linux 版
- 去官网下载特定版本源码包
- 将解压后的bin目录加入环境变量
$PATH中 - 将
npm镜像源切换成服务器可访问的
bash
mkdir /server
wget https://nodejs.org/dist/v24.16.0/node-v24.16.0-linux-x64.tar.xz
tar -xJf node-v24.16.0-linux-x64.tar.xz -C /server/nodebash
cat >> ~/zshrc << 'EOF'
# ~/.zshrc ~/.bashrc
PATH=/server/node/bin:${PATH}
export PATH
EOF
source ~/.zshrcbash
# 查看当前源地址
npm config get registry
# 将源设为淘宝镜像
npm config set registry https://registry.npmmirror.com
# 恢复默认
npm config set registry https://registry.npmjs.org
# corepack 安装/升级到最新版
npm install -g corepack@latest
# npm 安装/升级到最新版
npm update -g npmbash
# 安装&启用 pnpm
corepack enable pnpm
# 禁用 pnpm
corepack disable pnpm
# 安装&升级 pnpm 到最新版
corepack install pnpm@latest -gbash
rm -rm /server/node/
# 移除环境变量配置Windows 版
md
1. 去[官网](https://nodejs.org/zh-cn/download)下载特定版本源码包
2. 解压 Node.js 到 `D:\nodejs` 目录
3. 将 `D:\nodejs` 加入到环境变量 `PATH` 中
4. 将 `npm源` 切换成可访问的镜像
5. 使用 corepack 包管理器ps1
# 查看当前源地址
npm config get registry
# 将源设为淘宝镜像
npm config set registry https://registry.npmmirror.com
# 恢复默认
npm config set registry https://registry.npmjs.org
# corepack 安装/升级到最新版
npm install -g corepack@latest
# npm 安装/升级到最新版
npm update -g npmps1
# 安装&启用 pnpm
corepack enable pnpm
# 禁用 pnpm
corepack disable pnpm
# 安装&升级 pnpm 到最新版
corepack install pnpm@latest -gnvm 管理 Node.js 运行环境
Linux 版
bash
mkdir /server
# v0.40.5 换成你需要的标签(选择最新正式版)
git clone -b v0.40.5 --depth 1 https://github.com/nvm-sh/nvm.git /server/nvm
rm -rf /server/nvm/.git/
chmod 755 /server/nvm/
chown root:root /server/nvm/bash
cat >> /etc/profile << 'EOF'
if [ -d "/server/nvm" ]; then
# nvm config
export NVM_DIR="/server/nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
fi
# 官方源无法访问时,将 `nvm源` 切换成可访问的镜像(推荐使用官方源)
# nvm taobao mirrors
# export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node/
# nvm tencent mirrors
# export NVM_NODEJS_ORG_MIRROR=https://mirrors.cloud.tencent.com/nodejs-release/
EOF
source ~/.zshrcbash
rm -rf /server/nvm/
# 移除环境变量配置bash
# 下载并安装 Node.js:
nvm install --lts
nvm use --ltsbash
# 查看当前源地址
npm config get registry
# 将源设为淘宝镜像
npm config set registry https://registry.npmmirror.com
# 恢复默认
npm config set registry https://registry.npmjs.org
# corepack 安装/升级到最新版
npm install -g corepack@latest
# npm 安装/升级到最新版
npm update -g npmbash
# 安装&启用 pnpm
corepack enable pnpm
# 禁用 pnpm
corepack disable pnpm
# 安装&升级 pnpm 到最新版
corepack install pnpm@latest -g提示
无法从GitHub拉取时,直接下压缩包 [nvm.tar.gz]
Windows 版
md
1. 下载 [nvm-windows](https://github.com/coreybutler/nvm-windows/releases) 最新的 `nvm-noinstall.zip` 文件
2. 解压 nvm 到 `D:\nvm` 目录
3. 以管理员的方式运行 `D:\nvm\install.cmd` 安装脚本
4. 终端中输入 `D:\nvm` 作为 nvm 的根目录
5. 之后的自动安装会设置几个系统变量 和 环境变量
- 系统变量: `NVM_HOME=D:\nvm` `NVM_SYMLINK=C:\Program Files\nodejs`
- 环境变量(PATH内): `%NVM_HOME%` `%NVM_SYMLINK%`
- 其中,环境变量会无脑向后追加,所以你执行多次,内容会出现重复
6. 官方源无法访问时,将 `nvm源` 切换成可访问的镜像(推荐使用官方源)bash
# 设置 Node.js 包镜像(不推荐设置国内镜像,除非自带源无法使用)
# 腾讯云
nvm node_mirror https://mirrors.cloud.tencent.com/nodejs-release/
# 淘宝(没有最新的node包)
nvm node_mirror https://npmmirror.com/mirrors/node/bash
# 下载并安装 Node.js 长期支持版(最好用官方源安装)
nvm install lts
nvm use ltsbash
# 查看当前源地址
npm config get registry
# 将源设为淘宝镜像
npm config set registry https://registry.npmmirror.com
# 恢复默认
npm config set registry https://registry.npmjs.org
# corepack 安装/升级到最新版
npm install -g corepack@latest
# npm 安装/升级到最新版
npm update -g npmbash
# 安装&启用 pnpm
corepack enable pnpm
# 禁用 pnpm
corepack disable pnpm
# 安装&升级 pnpm 到最新版
corepack install pnpm@latest -gnvm 指令
linux 使用 nvm-sh/nvm 应用,而Windows 使用 coreybutler/nvm-windows 应用,这两者的命令是不同的,
linxu版
bash
# 列出远程版本列表
nvm ls-remote [<version>]
# 列出已安装版本列表
nvm ls [<version>]
# 安装指定版本,可模糊安装,如:v22.5 等于 v22.5.0,也可以指定别名
nvm install [<version>]
# 安装长期支持最新版
nvm install --lts
# 安装长期支持最新版,npm升级到最新兼容版,
nvm install --lts --latest-npm
# 安装长期支持最新版,npm升级到最新兼容版,将当前版本设为系统默认
nvm install --lts --latest-npm --default
# 删除已安装的指定版本,语法与 install 用法一致
nvm uninstall <version>
# 显示当前的版本
nvm current
# 切换使用指定的版本 node
# 1. 临时指定版本 - 仅当前窗口生效
nvm use <version>
# 指定长期支持版, - 仅当前窗口生效
nvm use --lts
# 2. 永久指定版本 - 所有窗口生效版本
nvm alias default <version>
# 指定可用的最新版 - 所有窗口生效
nvm alias default node
# 给不同的版本号添加别名
nvm alias <name> <version>
# 删除已定义的别名
nvm unalias <name>
# 在当前版本 node 环境下,重新全局安装指定版本号的 npm 包
nvm reinstall-packages <version>
# 查看更多命令可在终端输入
nvm --helpWindows 版
基本命令
| 命令 | 说明 |
|---|---|
nvm arch | 显示 node 是运行在 32 位还是 64 位模式下。 |
nvm current | 显示当前激活的版本。 |
nvm debug | 检查 NVM4W 进程是否存在已知问题(故障排查工具)。 |
nvm on | 启用 node.js 版本管理。 |
nvm off | 禁用 node.js 版本管理。 |
nvm upgrade | 将 nvm 更新到最新版本。升级后 7 天内可手动回滚。 |
nvm root [路径] | 设置 nvm 存放不同 node.js 版本的目录。如果不设置 <路径>,则显示当前根目录。 |
nvm [--]version | 显示当前运行的 nvm for Windows 版本号。别名:v |
安装与卸载
| 命令 | 说明 |
|---|---|
nvm install <版本号> [架构] | 版本号可以是特定版本号、latest(最新当前版本)或 lts(最新长期支持版本)。可选择指定安装 32 位或 64 位版本(默认为系统架构)。设置 [arch] 为 all 可同时安装 32 位和 64 位版本。在命令末尾添加 --insecure 可绕过远程下载服务器的 SSL 验证。 |
nvm uninstall <版本号> | 版本号必须是特定版本号。 |
nvm reinstall <版本号> | 清理并重新安装指定版本的快捷方法。 |
列表与切换
| 命令 | 说明 |
|---|---|
nvm list [available] | 列出已安装的 node.js 版本。末尾加上 available 可查看所有可安装的版本。别名:ls |
nvm use [版本号] [架构] | 切换到使用指定版本。可选参数 latest、lts 或 newest。newest 是已安装的最新版本。可选指定 32/64 位架构。nvm use <架构> 将继续使用当前选中的版本,但切换到 32/64 位模式。 |
镜像与代理
| 命令 | 说明 |
|---|---|
nvm node_mirror [url] | 设置 node 镜像地址。默认为 https://nodejs.org/dist/。留空 [url] 可恢复默认地址。 |
nvm npm_mirror [url] | 设置 npm 镜像地址。默认为 https://github.com/npm/cli/archive/。留空 [url] 可恢复默认地址。 |
nvm proxy [url] | 设置下载使用的代理。留空 [url] 可查看当前代理设置。设置 [url] 为 none 可移除代理。 |
桌面通知
| 命令 | 说明 |
|---|---|
nvm subscribe [--]<主题> | 订阅桌面通知。有效主题:lts, current, nvm4w, author |
nvm unsubscribe [--]<主题> | 取消订阅桌面通知。有效主题:lts, current, nvm4w, author |
Node.js 全局配置
bash
# 查看当前源地址
npm config get registry
# 将源设为淘宝镜像
npm config set registry https://registry.npmmirror.com
# 恢复默认
npm config set registry https://registry.npmjs.org
# corepack 安装/升级到最新版
npm install -g corepack@latest
# npm 安装/升级到最新版
npm update -g npmbash
# 安装&启用 pnpm
corepack enable pnpm
# 禁用 pnpm
corepack disable pnpm
# 安装&升级 pnpm 到最新版
corepack install pnpm@latest -gbash
# Linux下使用代理安装
proxychains npm update -g npm
proxychains corepack install -g pnpm用户设置独立的全局包目录
⚠️ 危险警告
在大多数情况下都不需要为每个用户单独设置独立的全局包目录, 全局包让 root 用户安装,大家一起使用就可以
bash
mkdir -p ~/.npm-global/bin
mkdir ~/.npm-global/store
chmod 750 -R ~/.npm-global/
# nvm 下,npm 不要设置 prefix(会冲突)
npm config set prefix ~/.npm-global/
# pnpm 不受 nvm 影响,可以自由设置
pnpm config set global-dir ~/.npm-global/
pnpm config set global-bin-dir ~/.npm-global/bin/
pnpm config set store-dir ~/.npm-global/store/
cat >> ~/.zshrc << 'EOF'
# npm global bin join PATH
if [ -d ~/.npm-global/bin ]; then
export PATH=~/.npm-global/bin:$PATH
fi
EOF1. 默认全局包目录
- 简单安装:
/server/node/lib/node_modules/ - nvm 管理:
/server/nvm/versions/node/xxx/lib/node_modules/
2. 默认全局命令 bin 目录
- 简单安装:
/server/node/bin/ - nvm 管理:
/server/nvm/versions/node/xxx/bin/
node/nvm/npm/npx 极简说明
极简定义
- node:JavaScript 运行环境
- npm:Node 自带的包管理工具
- npx:npm 自带的包命令执行工具
- nvm:Node 多版本管理工具
核心关系
nvm 管理 node,node 自带 npm/npx,npm 管理第三方包。
- nvm 切换 node 版本时,npm、npx 会同步切换
- 不同 node 版本,环境、全局包相互独立
