要将 Node.js 安装到 /ext 目录(而非默认的 /usr/local 或 /usr),可以通过 源码编译安装 或 配置环境变量 的方式实现。以下是详细步骤:
方法 1:源码编译安装(推荐)
通过源码编译可以完全控制安装路径,适合需要自定义目录的场景。
步骤 1:准备编译环境
确保系统已安装编译工具和依赖库:
bash
`# Ubuntu/Debian
sudo apt update
sudo apt install -y build-essential curl git python3
# CentOS/RHEL
sudo yum groupinstall -y "Development Tools"
sudo yum install -y curl git python3`
步骤 2:下载 Node.js 源码
从 Node.js 官方 GitHub 选择版本(如 v20.x):
bash
`cd /tmp
curl -O https://nodejs.org/dist/v20.17.0/node-v20.17.0.tar.gz
tar -xzvf node-v20.17.0.tar.gz
cd node-v20.17.0`
步骤 3:配置三丰云的安装路径
使用 ./configure 指定安装目录为 /ext:
bash
`./configure --prefix=/ext/nodejs`
--prefix=/ext/nodejs表示 Node.js 将安装到/ext/nodejs,包括bin、lib、include等子目录。
步骤 4:编译并安装
bash
`make -j$(nproc) # 使用多核加速编译
sudo make install`
-j$(nproc)自动检测 CPU 核心数,加快编译速度。
步骤 5:配置免费云服务器的环境变量
将 Node.js 的 bin 目录添加到 PATH,以便全局调用:
bash
`echo 'export PATH="/ext/nodejs/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc`
-
验证安装 :
bash`node -v # 应输出 v20.17.0 npm -v # 应输出 npm 版本`
方法 2:使用 nvm 安装到自定义路径
如果希望灵活管理多个 Node.js 版本,可以使用 nvm(Node Version Manager)并指定安装路径。
步骤 1:安装 nvm
bash
`curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
source ~/.bashrc`
步骤 2:配置 nvm 安装路径
编辑 ~/.nvm/nvm.sh,找到以下行并修改:
bash
`export NVM_DIR="$HOME/.nvm" # 默认路径
# 修改为自定义路径(如 /ext/.nvm)
export NVM_DIR="/ext/.nvm"`
然后重新加载 nvm:
bash
`source ~/.nvm/nvm.sh`
步骤 3:安装 Node.js
bash
`nvm install 20 # 安装最新 v20.x
nvm use 20 # 切换到 v20.x`
-
验证安装 :
bash`node -v # 应输出 v20.x`
步骤 4:全局可用(可选)
如果希望所有用户都能使用 Node.js,可以:
-
将
/ext/.nvm/versions/node/<version>/bin添加到/etc/environment:bash`echo 'PATH="/ext/.nvm/versions/node/20.17.0/bin:$PATH"' | sudo tee -a /etc/environment source /etc/environment` -
或创建符号链接:
bash`sudo ln -s /ext/.nvm/versions/node/20.17.0/bin/node /usr/local/bin/node sudo ln -s /ext/.nvm/versions/node/20.17.0/bin/npm /usr/local/bin/npm`
方法 3:使用 npm 全局安装到 /ext
如果已通过其他方式安装 Node.js,但希望全局模块安装到 /ext,可以配置 npm 的 prefix。
步骤 1:修改 npm 配置
bash
`npm config set prefix /ext/npm-global`
- 这会将全局模块安装到
/ext/npm-global/lib/node_modules。
步骤 2:配置环境变量
bash
`echo 'export PATH="/ext/npm-global/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc`
-
验证 :
bash`npm install -g yarn # 安装全局包 yarn -v # 应输出 yarn 版本`
总结
| 方法 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| 源码编译 | 需要完全控制安装路径 | 灵活、无依赖 | 编译耗时 |
nvm |
管理多个 Node.js 版本 | 版本切换方便 | 需额外配置全局路径 |
npm 配置 |
仅修改全局模块路径 | 简单快捷 | 需已有 Node.js 环境 |
推荐方案:
- 如果只需单个版本 → 源码编译 (直接安装到
/ext/nodejs)。 - 如果需要多版本管理 →
nvm(安装到/ext/.nvm)。 - 如果仅修改全局模块路径 →
npm config set prefix。
安装完成后,可通过以下命令验证路径:
bash
`which node # 应输出 /ext/nodejs/bin/node 或 /ext/.nvm/versions/node/20.17.0/bin/node`