防止自动安装R程序包的说明文件中的Remotes中引用的程序包

防止自动安装R程序包的说明文件中的Remotes中引用的程序包,r,dependencies,package,remotes,R,Dependencies,Package,Remotes,我们有一个组织性的GitLab服务器,在那里我们存储一些内部包。对于存储在GitLab上的packageA依赖于存储在GitLab上的另一个包(packageB),我们在packageA的说明文件中有相应的行: Imports: packageB Remotes: url::https://gitlab.orgname.uk/packages/packageB/-/archive/master/packageB-master.zip 我们希望安装已卸载的依赖项,但不希望安装已安装的依赖

我们有一个组织性的GitLab服务器,在那里我们存储一些内部包。对于存储在GitLab上的
packageA
依赖于存储在GitLab上的另一个包(
packageB
),我们在
packageA
说明
文件中有相应的行:

Imports:
    packageB
Remotes: url::https://gitlab.orgname.uk/packages/packageB/-/archive/master/packageB-master.zip
我们希望安装已卸载的依赖项,但不希望安装已安装的依赖项(或者在安装之前至少询问我们)


我们使用
remotes::install\u git()
从GitLab安装这个包。这似乎安装了
packageB
,即使我们已经安装了最新版本。有办法解决这个问题吗?

通常看起来像这样:

remotes::install_gitlab("packages/packageB", dependencies = FALSE)
从帮助文件(
?remotes::install\u gitlab
)中:

依赖关系:

要检查哪些依赖项?可以是字符向量 (从“依赖”、“导入”、“链接到”、“建议”或 “增强”)或逻辑向量

TRUE是“依赖”、“导入”、“链接到”和 “建议”。NA是“依赖”、“进口”和“链接到”的缩写 这是默认值FALSE是无依赖项的简写形式(即仅 检查此软件包,而不是其依赖项)。


您在上面显示的提示可能会使用
remotes::install\u url()
。但是
依赖项
参数在这里是相同的。

您使用什么来安装<代码>安装。软件包
开发工具
遥控器
,其他什么?以上都没有。在包文件结构中,描述文件描述了每个包的依赖关系,因此在安装包时,也会安装所有适当的依赖关系(通常是在尚未安装的情况下)。因为我们的软件包具有不在CRAN上的依赖项,所以我们使用
Remotes:
参数来定义从何处安装软件包,但即使软件包已经安装,它也会安装软件包刚刚意识到我可能误解了您的问题。我们正在安装带有remotes::install_git()的packageA。我们需要一种方法,可以安装已卸载的依赖项,但不能重新安装已安装的依赖项(我将更新问题),谢谢。你知道如何控制包的描述文件中的dependencies参数吗?你在寻找这样的东西吗:是的,我们已经编写了描述文件,但是Dependency包不在CRAN上,它在我们的GitLab服务器上。您可以使用描述文件中的
Remotes
字段来告诉R该依赖项存储在哪里,以便在安装包时安装它。您发送的链接很好,但它不包括Remotes字段