GitLab中存在依赖关系的两个R包安装失败,寻求非手动安装方案
GitLab托管R包的依赖安装问题及优化方案
问题背景
我在GitLab上托管了两个R包,其中package2将package1作为依赖项,直接按顺序安装的脚本执行失败。原安装脚本如下:
remotes::install_gitlab( "username/package1", host = "gitlab.com", auth_token = gitlab_token ) remotes::install_gitlab( "username/package2", host = "gitlab.com", auth_token = gitlab_token, )
现有手动解决方案
目前可行的方式是拆分安装步骤:先安装package1,再手动安装package2除package1外的所有其他依赖,最后关闭依赖检查安装package2,脚本如下:
remotes::install_gitlab( "username/package1", host = "gitlab.com", auth_token = gitlab_token ) install.packages(all dependencies for 2nd package except 1st package) remotes::install_gitlab( "username/package2", host = "gitlab.com", auth_token = gitlab_token, dependencies = FALSE )
无需手动处理依赖的替代方案
存在更简洁的方法,不需要手动安装其他依赖,直接使用批量安装的方式即可:
remotes::install_gitlab( c("username/package1", "username/package2"), host = "gitlab.com", auth_token = gitlab_token )
remotes包会自动解析包之间的依赖关系,优先安装被依赖的package1,之后再安装package2,同时会自动处理package2的其他所有依赖(包括CRAN包或其他GitLab托管的包),无需手动干预。
内容的提问来源于stack exchange,提问作者det
相关产品推荐
相关产品推荐

