我正在尝试用R 3.6.0将R包A安装到一个奇点容器中。包A需要R包B作为依赖项。我最初安装的是包A和包B的版本1,一切运行正常。然而,现在我需要重新构建这个设置,似乎包B的版本2已经出来了。由于某些原因,包B版本2不是在我的机器上构建的,并且给出了随机的编译器错误,我在网上找不到任何参考。我仍然可以安装包B的版本1,没有问题。然而,当我尝试安装包A时,它从CRAN中拉出包B的版本2,即使已经安装了包B的正确版本(版本1),因此整个事情无法工作,因为包B的版本2无法构建。
我如何告诉R不要获取最新版本的包B,而只使用已经安装的包?这是在CentOS 7中构建的一个奇点容器。我使用标准的"install.packages“函数来安装包A,并使用devtools中的"install_version”命令来安装包B的特定版本。我想强调的是,包A仍然被安装为相同的版本,并且这里的整个问题都源于R拉出了包B的版本2,尽管相同版本的包A最初在包B的版本1上工作得很好。
发布于 2020-11-03 02:58:29
我会:
在没有依赖项的情况下,使用install.packages("A", dependencies=FALSE) install_version
发布于 2020-11-05 03:23:47
最简单的方法是在以前有效的版本中使用包。为此,可以在put into repo url中找到它工作的日期。
install.packages(
"A",
repos="https://cran.microsoft.com/snapshot/2019-05-15/"
)在运行该命令之前,请确保删除了B。
https://stackoverflow.com/questions/64651555
复制相似问题