MacOS Sonoma下使用Rust fuse crate 0.3.1与macFUSE的构建报错问题
解决MacOS Sonoma下Rust fuse crate找不到osxfuse.pc的问题
问题根源
macFUSE(原osxfuse)的osxfuse.pc配置文件路径并非你设置的/Library/Frameworks/macFUSE.framework,fuse crate依赖的pkg-config工具无法定位到正确的配置文件位置。
解决方案步骤
1. 定位osxfuse.pc的实际位置
在终端执行以下命令搜索配置文件:
find /Library/Frameworks/macFUSE.framework -name "osxfuse.pc"
如果找到结果(比如/Library/Frameworks/macFUSE.framework/Versions/Current/lib/pkgconfig/osxfuse.pc),直接进入步骤2;如果无搜索结果,进入步骤3。
2. 设置正确的PKG_CONFIG_PATH
临时在终端配置环境变量,然后重新构建项目:
export PKG_CONFIG_PATH="/Library/Frameworks/macFUSE.framework/Versions/Current/lib/pkgconfig" cargo build
若需要永久生效,将上述export命令添加到你的shell配置文件(~/.zshrc或~/.bash_profile)中,执行source ~/.zshrc(对应你的shell类型)使配置生效。
3. 手动创建osxfuse.pc配置文件
如果搜索不到该文件,手动生成配置文件:
- 创建配置文件目录(若不存在):
mkdir -p /Library/Frameworks/macFUSE.framework/Versions/Current/lib/pkgconfig
- 创建
osxfuse.pc文件,填入以下内容(注意将版本号替换为你安装的macFUSE实际版本,可在系统偏好设置的macFUSE面板查看):
prefix=/Library/Frameworks/macFUSE.framework/Versions/Current exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/Headers Name: osxfuse Description: MacFUSE (OSXFUSE) library Version: 4.4.2 Libs: -L${libdir} -lfuse Cflags: -I${includedir}
- 再次设置环境变量并构建:
export PKG_CONFIG_PATH="/Library/Frameworks/macFUSE.framework/Versions/Current/lib/pkgconfig" cargo build
4. 备选方案:通过Homebrew重新安装macFUSE
如果你是手动安装的macFUSE,改用Homebrew安装可自动配置pkg-config路径:
brew install macfuse
安装完成后直接执行cargo build即可,Homebrew会自动将pkgconfig路径加入环境变量。
内容的提问来源于stack exchange,提问作者Divyansh
相关产品推荐
相关产品推荐

