Node.js
Node.js® 是一个免费、开源、跨平台的 JavaScript 运行时环境,它让开发人员能够创建服务器、 Web 应用、命令行工具和脚本。
极简安装 Node.js 运行环境
Node.js 运行环境不依赖其他库,最简单的安装方式如下:
- 去官网下载特定版本源码包
- 将解压后的bin目录加入环境变量
$PATH中 - 将
npm镜像源切换成服务器可访问的
bash
mkdir /server
wget https://nodejs.org/dist/v24.14.0/node-v24.14.0-linux-x64.tar.xz
tar -xJf node-v24.14.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.orgbash
rm -rm /server/node/
# 移除环境变量配置nvm 管理 Node.js 运行环境
bash
mkdir /server
# v0.40.4 换成你需要的标签(选择最新正式版)
git clone -b v0.40.4 --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 taobao mirrors
export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node
export NVM_IOJS_ORG_MIRROR=https://npmmirror.com/mirrors/iojs
EOF
source ~/.zshrcbash
rm -rf /server/nvm/
# 移除环境变量配置提示
无法从GitHub拉取时,直接下压缩包 [nvm.tar.xz]
nvm 常用指令
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 --help用户设置独立的全局包目录
⚠️ 危险警告
在大多数情况下都不需要为每个用户单独设置独立的全局包目录, 全局包让 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.js 全局配置
bash
npm update npm -g
npm i pnpm -g
# 使用代理安装
proxychains npm update npm -g
proxychains npm i pnpm -gnode/nvm/npm/npx 极简说明
极简定义
- node:JavaScript 运行环境
- npm:Node 自带的包管理工具
- npx:npm 自带的包命令执行工具
- nvm:Node 多版本管理工具
核心关系
nvm 管理 node,node 自带 npm/npx,npm 管理第三方包。
- nvm 切换 node 版本时,npm、npx 会同步切换
- 不同 node 版本,环境、全局包相互独立
