Macbook运行Rmarkdown的pagedown模板时出现chrome_print错误
Mac环境下pagedown模板调用chrome_print报错的原因及解决
问题背景
此前在Windows系统正常运行的pagedown海报Rmarkdown模板,切换到MacBook后,尽管已确认安装Google Chrome,仍出现执行错误。
原YAML配置
--- title: <br> **Report Title** author: - name: Department affiliation: address: <br> **Updated - `r format(Sys.time(), '%B, %Y')`** title_textsize: "85pt" author_textsize: "60pt" column_numbers: 3 logoright_name: Logo.png header-includes: - \usepackage{caption} - \captionsetup{font=Huge} output: posterdown::posterdown_html: self_contained: false columnline_width: "3mm" columnline_style: dashed primary_colour: "#6d1d26" secondary_colour: "#6d1d26" accent_colour: "#6d1d26" title_textcol: "#c7af76" author_textcol: "#c7af76" affiliation_textcol: "#c7af76" knit: pagedown::chrome_print ---
报错信息
Error in pagedown::chrome_print() : The browser is not executable: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
原因分析
- 权限限制:Mac的系统安全机制默认可能限制了RStudio(或R进程)直接调用Chrome的可执行文件,即使文件存在也会被判定为不可执行。
- 路径或版本差异:如果你的Chrome是通过App Store安装,或是Beta/Dev测试版本,实际路径会和pagedown默认检测的路径不一致,导致找不到可执行文件;部分情况下默认安装的Chrome可执行文件缺少执行权限。
- 自动检测逻辑问题:pagedown在Mac上的Chrome路径自动检测功能,可能未正确识别文件的权限状态,误判为不可执行。
解决办法
- 手动赋予权限并指定路径:
- 打开终端,执行命令给Chrome可执行文件添加执行权限:
chmod +x /Applications/Google Chrome.app/Contents/MacOS/Google Chrome - 修改YAML中的
knit配置,手动指定Chrome路径:knit: pagedown::chrome_print(browser = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome")
- 打开终端,执行命令给Chrome可执行文件添加执行权限:
- 换终端执行:如果RStudio权限不足,尝试在终端中启动R,再运行knit命令,终端通常拥有更高的系统权限。
- 核对Chrome路径:若安装的是测试版Chrome,比如Beta版,路径应为
/Applications/Google Chrome Beta.app/Contents/MacOS/Google Chrome Beta,需对应修改命令和YAML中的路径。
内容的提问来源于stack exchange,提问作者Tanga94
相关产品推荐
相关产品推荐

