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

Apple M1环境下R从源码安装包时找不到png.h,如何指定路径?

问题描述

在Apple M1设备上从源码安装R软件包ggiraph时,出现png.h文件未找到的编译错误。已通过Homebrew完成libpng的安装:

brew install libpng

png.h的实际安装路径为/opt/homebrew/Cellar/libpng/1.6.39/include/libpng16/png.h,且存在符号链接指向/opt/homebrew/include/png.h。执行安装命令:

install.packages("ggiraph", type = "source")

触发以下核心错误:

raster.cpp:7:10: fatal error: 'png.h' file not found
#include <png.h>
         ^~~~~~~
解决方法

方法一:临时指定编译参数安装

直接在安装命令中通过configure.args参数指定libpng的头文件路径:

install.packages("ggiraph", type = "source", 
                 configure.args = "--with-png-include=/opt/homebrew/include")

方法二:配置全局编译参数(永久生效)

修改R的编译配置文件,让所有源码安装的软件包自动识别Homebrew的库路径:

  1. 在终端创建或打开R的Makevars配置文件:
mkdir -p ~/.R && touch ~/.R/Makevars && open ~/.R/Makevars
  1. 在文件中添加以下内容:
# 引入Homebrew头文件和库路径
CPPFLAGS += -I/opt/homebrew/include
LDFLAGS += -L/opt/homebrew/lib
  1. 保存文件后重启R,再执行安装命令即可。

方法三:临时设置环境变量

在终端启动R前,先设置编译相关的环境变量:

export CPPFLAGS="-I/opt/homebrew/include"
export LDFLAGS="-L/opt/homebrew/lib"
R

进入R环境后,执行install.packages("ggiraph", type = "source")即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 05:27:49