You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

MacOS下执行npm install时出现node-gyp-build: command not found错误求助

MacOS下执行npm install时出现node-gyp-build: command not found错误求助

我刚把之前在台式机上用的仓库克隆到MacOS上,执行npm install时遇到了下面的错误:

rakibulb@Rakibuls-MacBook-Air advanced-todolist % npm install
npm error code 127
npm error path /Users/rakibulb/Documents/ComputerScience/Portfolio Projects/HTML:CSS:JS/advanced-todolist/node_modules/bufferutil
npm error command failed
npm error command sh -c node-gyp-build
npm error sh: node-gyp-build: command not found
npm error A complete log of this run can be found in: /Users/rakibulb/.npm/_logs/2024-05-20T15_36_50_210Z-debug-0.log

我已经试过卸载重装Node.js,也把npm更新到了最新版本,但都没解决问题。

我的package.json内容(部分):

{
  "name": "todo-enhanced",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "b...

针对这个问题的解决建议

我自己在MacOS上碰到过好几次node-gyp相关的报错,给你几个实用的排查方向:

  1. 先确保Xcode命令行工具安装完整
    node-gyp这类编译工具依赖Xcode的组件,MacOS默认可能没装全。打开终端跑这个命令:
xcode-select --install

如果提示已经安装,那就重置一下工具路径:

sudo xcode-select --reset

重启终端后再试试npm install

  1. 清理npm缓存并重新初始化依赖
    缓存损坏也可能导致这类奇怪的报错,先清掉缓存:
npm cache clean --force

然后删掉项目里的node_modules文件夹和package-lock.json文件:

rm -rf node_modules package-lock.json

做完这些再重新执行npm install

  1. 手动全局安装node-gyp-build
    既然报错说找不到这个命令,那先全局装一个试试:
npm install -g node-gyp-build

安装完成后回到项目目录再执行npm install

  1. 检查Node.js版本是否和项目兼容
    有时候项目依赖的包和你当前用的Node版本不匹配,你可以看看项目根目录有没有.nvmrc文件(如果有的话里面会指定推荐的Node版本),用nvm切换到对应版本:
nvm install [指定版本号]
nvm use [指定版本号]

如果没装nvm,直接去Node官网下载对应版本安装也可以。

  1. 修复npm权限问题
    如果之前用sudo装过Node或者npm包,可能会导致权限错乱,执行下面的命令修复权限:
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

之后再重新尝试安装依赖。

备注:内容来源于stack exchange,提问作者RakibulB

火山引擎 最新活动