在macOS 10.13.6 High Sierra安装Node.js遇阻求助
在macOS 10.13.6 High Sierra安装Node.js 21的解决办法
问题背景
MacPorts已将nodejs21标记为过时端口,自动导向nodejs22,这是官方端口库版本迭代导致的,不少使用旧版本macOS的用户都遇到过类似情况。
可行方案
方案一:从MacPorts历史版本恢复nodejs21端口
- 进入MacPorts端口目录:
cd /opt/local/var/macports/sources/rsync.macports.org/macports/release/ports/lang - 备份当前nodejs端口文件夹:
sudo mv nodejs nodejs_backup - 克隆MacPorts端口仓库到临时目录:
sudo git clone https://github.com/macports/macports-ports.git temp_nodejs - 进入nodejs端口目录,切换到nodejs21未被标记为过时的提交(执行
git log --oneline | grep "nodejs21"查找对应提交哈希,替换<找到的提交哈希>):cd temp_nodejs/lang/nodejs git checkout <找到的提交哈希> - 将恢复后的nodejs目录复制回ports目录:
sudo cp -r . /opt/local/var/macports/sources/rsync.macports.org/macports/release/ports/lang/nodejs - 清理临时文件并安装nodejs21:
sudo rm -rf ../../../../temp_nodejs sudo port install nodejs21
方案二:使用nvm安装(推荐)
nvm可直接管理多个Node.js版本,不受MacPorts端口限制:
- 访问nvm官方代码仓库,下载最新安装脚本到本地。
- 在终端进入脚本所在目录,执行:
bash install.sh - 重启终端,或执行以下命令使nvm生效(根据shell类型选择):
# Bash用户 source ~/.bash_profile # Zsh用户 source ~/.zshrc - 安装并设置Node.js 21为默认版本:
nvm install 21 nvm alias default 21
方案三:手动编译Node.js 21
- 下载Node.js 21.x系列的源码包(推荐选择21.7.3等稳定版本),解压后进入目录。
- 配置编译参数:
./configure --prefix=/usr/local/nodejs21 - 编译并安装(
-j4可根据CPU核心数调整,加快编译速度):make -j4 && sudo make install - 添加环境变量:在
~/.bash_profile或~/.zshrc中加入:
执行export PATH=/usr/local/nodejs21/bin:$PATHsource ~/.bash_profile或source ~/.zshrc生效。
内容的提问来源于stack exchange,提问作者AmgdeG
相关产品推荐
相关产品推荐

