gpt4 book ai didi

r - 安装本地包时更新依赖项

转载 作者:行者123 更新时间:2023-12-02 04:28:39 26 4
gpt4 key购买 nike

我有一个要安装的本地包,当它被安装时,它还会更新/比较当前安装的包与包的 DESCRIPTION 文件中定义的依赖项。 install.packages() 可用于在 repos = NULL 时安装本地文件,但它不会相应地更新/安装依赖项。此外,虽然 devtools::install_local()devtools::install() 安装丢失 包,但它不会更新 根据包的DESCRIPTION 文件中的依赖项进行打包。

有没有办法安装本地包并根据包的 DESCRIPTION 文件更新相应的包 - 类似于 install.packages()从 CRAN 安装软件包时有效吗?我已经探索了 toolsdevtools 包以及其他 SO 帖子中的其他选项,但没有找到完全符合我要求的东西。

我已经使用 packageDescription()installed.packages() 将包的要求与已安装的内容进行比较并进行相应更新,但不知道是否已经有更优雅的解决方案。

最佳答案

合并devtools::dev_package_deps()devtools::update_packages()可能对你有用。

dependency_list <- devtools::dev_package_deps()
devtools::update_packages(dependency_list$package, dependencies=TRUE)

在 R 包的 repo 中调用时,会检查包依赖项并更新过时的。与 RStudio 的“包”面板中的“更新”按钮不同,上面的代码将 (a) 从 CRAN 和远程资源(如 GitHub 和(b) 不要尝试安装与当前包无关的本地包。

此函数仅在有效包内运行时才有效。它读取包中列举的依赖项 DESCRIPTION文件。

我们把他的代码放在 RStudio Add-In 中并分发到我们的 OuhscMunge包裹。它帮助我们约 10 人的数据科学研究团队彼此保持更加一致。

并密切关注 remotes 的发展包,它“是 devtools 中 install_* 函数的轻量级替代品。”

关于r - 安装本地包时更新依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51032658/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com