R包开发如何配置DESCRIPTION强制依赖GitHub版而非CRAN版依赖包
R包GitHub来源依赖配置说明
你必须同时保留Imports和Remotes两段配置,不能仅保留Remotes段。
两个字段的核心作用差异
Imports字段:核心作用是声明你的R包运行必需的依赖项,无论依赖来源是CRAN还是第三方仓库,R的包管理逻辑都会优先校验该字段下列出的包是否已在环境中安装,缺失时才会触发下载逻辑。如果删除该字段,R不会将firebase识别为你包的必需依赖,安装过程不会主动拉取该包,运行时会直接报包不存在的错误。Remotes字段:仅作用于remotes::install_*、devtools::install_*系列非CRAN安装命令,作用是给对应依赖指定非CRAN的下载源。如果仅填写该字段不填写Imports,安装工具根本不会感知到你需要安装firebase依赖。
如果需要明确锁定master分支版本,可以将Remotes行调整为:
Remotes: JohnCoene/firebase@master
注意事项
该配置仅适用于你将包通过GitHub等非CRAN渠道分发、让用户使用remotes/devtools系列命令安装的场景。如果你的包需要提交CRAN,CRAN规则不允许依赖非CRAN源的包,该配置无法通过CRAN审核。
内容的提问来源于stack exchange,提问作者Dylan Russell
相关产品推荐
相关产品推荐

