从本地zip安装R源码包时如何让依赖从CRAN自动拉取
解决方案
直接使用base R原生的install.packages即可,不需要额外安装其他工具包,核心是不要加repos = NULL参数,手动指定CRAN镜像地址供依赖拉取即可,示例代码如下:
install.packages( "path\\to\\zipfile.zip", # 替换为你的共享文件夹内zip包实际路径,也可以用正斜杠写法"path/to/zipfile.zip" repos = "https://mirrors.tuna.tsinghua.edu.cn/CRAN/", # 国内可选用清华CRAN镜像,不需要改源的话默认用https://cran.rstudio.com也可以 type = "source", dependencies = TRUE, quiet = TRUE # 加这个可以减少不必要的输出,不需要可以删掉 )
原理说明
install.packages会自动识别传入的第一个参数是本地文件路径,优先从本地zip安装你自制的R包repos参数指定的CRAN地址仅用于拉取该自制包的所有依赖,不会影响主包的安装来源- 无需额外交互,同事直接运行即可完成安装
可选调整项
- 若不需要安装
Suggests类的依赖,可将dependencies = TRUE替换为dependencies = c("Depends", "Imports", "LinkingTo") - 若你打包的是Windows预编译二进制包,可将
type = "source"改为type = "win.binary",同事不需要安装Rtools即可直接安装
内容的提问来源于stack exchange,提问作者Sandwichnick
相关产品推荐
相关产品推荐

