You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac Big Sur环境下Gatsby项目执行npm install时sharp依赖报错:Package OpenEXR was not found in the pkg-config search path的解决求助

解决Sharp安装时OpenEXR依赖找不到的问题

我之前在Mac Big Sur 11.x版本上也碰到过一模一样的问题,折腾了一阵终于解决了,给你分享下可行的方案:

问题根源

从你的错误日志里能抓到关键线索:

npm ERR! Package OpenEXR was not found in the pkg-config search path.
npm ERR! Perhaps you should add the directory containing `OpenEXR.pc'
npm ERR! to the PKG_CONFIG_PATH environment variable

这说明系统的PKG_CONFIG_PATH环境变量没有包含Homebrew安装的OpenEXR的pkg-config配置文件目录,导致node-gyp编译sharp的时候找不到这个依赖,所以才会失败。你之前重装vips没用,是因为vips本身依赖OpenEXR,但OpenEXR的配置路径没被系统识别到。

具体解决步骤

1. 先找到OpenEXR的pkg-config路径

在终端里执行这条命令,定位OpenEXR的配置文件位置:

brew list openexr | grep .pc

正常情况下会输出类似 /usr/local/Cellar/openexr/2.5.5/lib/pkgconfig/OpenEXR.pc 的路径,我们需要的是这个文件所在的目录,也就是 /usr/local/Cellar/openexr/2.5.5/lib/pkgconfig/(注意替换成你自己的版本号)。

2. 临时设置环境变量并重新安装

在当前终端窗口执行以下命令,把OpenEXR的配置目录加入到PKG_CONFIG_PATH,然后清理缓存重新安装:

# 替换成你刚才找到的OpenEXR的pkg-config目录
export PKG_CONFIG_PATH="/usr/local/Cellar/openexr/2.5.5/lib/pkgconfig/:$PKG_CONFIG_PATH"
# 清理之前的sharp残留和锁文件
rm -rf node_modules/sharp
rm package-lock.json
# 重新安装依赖
npm install

3. 永久设置环境变量(可选)

如果不想每次安装都手动设置环境变量,可以把这个配置加到你的shell配置文件里:

  • 如果你用的是bash,编辑 ~/.bash_profile 或者 ~/.bashrc
  • 如果你用的是zsh(Mac默认shell),编辑 ~/.zshrc

在文件末尾添加一行:

export PKG_CONFIG_PATH="/usr/local/Cellar/openexr/2.5.5/lib/pkgconfig/:$PKG_CONFIG_PATH"

替换成你实际的路径,然后执行 source ~/.zshrc(对应你的shell)让配置立即生效。

4. 备选方案:强制使用预编译二进制包

如果上面的方法还是不行,可以强制sharp跳过源码编译,直接用官方预编译的二进制包,执行:

export SHARP_IGNORE_GLOBAL_LIBVIPS=1
npm install

或者直接指定安装sharp时忽略全局libvips:

npm install sharp --ignore-scripts=false --verbose

内容的提问来源于stack exchange,提问作者KTT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 04:12:43