出于各种原因,pkgdown 自从 2024 年 7 月发布的 2.1.0 版本开始,离线构建选项 options(pkgdown.internet = FALSE)
就无法正常工作了(从 2018 年的 1.2.0 版本以来一直支持)。2025 年 4 月发布的 2.1.2 版本甚至完全移除了这个选项和相关逻辑,也没有提供任何脱围机制。这个改变对无法联网的环境下需要渲染 pkgdown 网站的用户造成了很多困扰(参见官方仓库 issue tracker)。
为了正式解决这个问题,我做了一个第三方的解决方案 pkgdown.offline,现已上线 CRAN。打包了所有 pkgdown >= 2.1.0 中需要在线缓存的前端资源文件,同时提供了 init_site()
和 build_site()
的替代包装。
同时写了一篇博客,简单描述了以上技术细节:https://nanx.me/blog/post/pkgdown-offline/