将 Node.js 安装到 /ext 目录的办法

要将 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,包括 binlibinclude 等子目录。

步骤 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,可以:

  1. /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`
  2. 或创建符号链接:

    复制代码

    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,可以配置 npmprefix

步骤 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`
相关推荐
毕设源码-朱学姐1 天前
【开题答辩全过程】以 基于Node.js的书籍分享平台设计与实现为例,包含答辩的问题和答案
node.js
前端 贾公子1 天前
Node.js 如何处理 ES6 模块
前端·node.js·es6
周杰伦的稻香1 天前
Hexo搭建教程
java·node.js
毕设源码-钟学长1 天前
【开题答辩全过程】以 基于node.js vue的点餐系统的设计与实现为例,包含答辩的问题和答案
前端·vue.js·node.js
朝朝暮暮an2 天前
Day 2|Node.js 运行机制、模块系统与异步初探
node.js
aidou13142 天前
Visual Studio Code(VS Code)安装步骤
vscode·npm·node.js·环境变量
止观止2 天前
告别 require!TypeScript 5.9 与 Node.js 20+ 的 ESM 互操作指南
javascript·typescript·node.js
一只专注api接口开发的技术猿2 天前
淘宝商品详情API的流量控制与熔断机制:保障系统稳定性的后端设计
大数据·数据结构·数据库·架构·node.js
天远数科2 天前
天远车辆过户查询API集成指南:Node.js 全栈视角下的二手车数据挖掘
大数据·数据挖掘·node.js·vim
全栈小52 天前
【前端】win11操作系统安装完最新版本的NodeJs运行npm install报错,提示在此系统上禁止运行脚本
前端·npm·node.js