如何解决阻止R自动获取已安装软件包的最新版本?
我正在尝试将R软件包A安装到具有R 3.6.0的Singularity容器中。包A需要R包B作为依赖项。我最初将软件包A与软件包B的版本1一起安装,并且一切正常。但是,现在,我需要重新构建此设置,并且看来B的版本2已经发布。由于某些原因,软件包B版本2不能在我的机器上构建,并且会给出随机的编译器错误,而我找不到任何在线参考。我仍然可以安装软件包B的版本1没问题。但是,当我尝试安装程序包A时,即使已经安装了程序包B的正确版本(版本1),它也会从CRAN中提取程序包B的版本2,因此由于程序包B的版本2失败,整个事情将不起作用建造。
如何告诉R不要抢走软件包B的最新版本,而只使用已经安装的软件包?这是在Singularity容器内部的CentOS 7上进行的。我正在使用标准的“ install.packages”功能来安装软件包A,并使用devtools中的“ install_version”命令来安装特定版本的软件包B。我想强调一下,软件包A仍以相同版本安装,而且整个问题都源于R提取了程序包B的版本2,即使最初与程序包A的相同版本对程序包B的版本也一样。
解决方法
我会
- 使用
df_a[(df_a['pages']!=0) & (df_a['time']<=0)]
安装软件包B的旧版本。
- 使用
install_version
安装新软件包无依赖项
最简单的方法是使用以前适合您的版本的软件包。为此,请找出它在回购网址中起作用的日期。
install.packages(
"A",repos="https://cran.microsoft.com/snapshot/2019-05-15/"
)
在运行该命令之前,请确保已删除B。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。