安装非CRAN包需要CRAN镜像

Installation of non-CRAN package requires CRAN mirror

我正在尝试在基于 Linux 的计算集群上安装 the R-INLA projectINLA 软件包。该包裹不在 CRAN 上。根据他们的教程,使用

就足够了
install.packages("INLA",repos=c(getOption("repos"),INLA="https://inla.r-inla-download.org/R/stable"), dep=TRUE)

用于安装,在我的本地机器上运行良好。然而,在计算集群上,似乎 运行 这个命令需要一个 CRAN 镜像,我得到以下错误:

Error in contrib.url(repos, type) : 
  trying to use CRAN without setting a mirror
Calls: install.packages -> startsWith -> contrib.url
Execution halted

作为替代方案,我尝试使用 devtools 从相应的 GitHub 存储库直接安装软件包。出于某种原因,这给了我明显不正确的版本号 INLA_99.99.9999。这禁止我通过 INLA:::inla.binary.install() 手动添加必要的二进制文件,因为找不到版本号。感谢您的帮助!

您依赖于 (R global) options() 在集群上具有有效的 repos 条目。

如果没有像 base R Core 这样的 base R 核心感觉,无论对错,他们都不能播放收藏夹并设置一个,你不能...我们中的一些人认为这是错误的(因为它削弱了用户体验——就像你在这里)所以在 Debian(因此 Ubuntu)包中我将它设置为 'cloud' 镜像每个人都接近它位于 CDN:

edd@rob:~$ tail -6 /usr/lib/R/etc/Rprofile.site 
## We set the cloud mirror, which is 'network-close' to everybody, as default
local({
    r <- getOption("repos")
    r["CRAN"] <- "https://cloud.r-project.org"
    options(repos = r)
})
edd@rob:~$ 

我建议你也这样做,也许在 ~/.Rprofile 集群上。