Для установки пакета, отличного от CRAN, требуется зеркало CRAN.
Я пытаюсь установить
INLA
пакет проекта R-INLA на вычислительном кластере на базе Linux. Пакета нет на 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
В качестве альтернативы я попытался установить пакет напрямую из соответствующего репозитория GitHub, используя
devtools
. По какой-то причине это дает мне явно неправильный номер версии
INLA_99.99.9999
. Это запрещает мне вручную добавлять необходимые бинарники через
INLA:::inla.binary.install()
так как номер версии не найден. Любая помощь приветствуется!
1 ответ
Вы полагаетесь на (R global)
options()
наличие действительного
repos
вход в кластер.
Что вы ... не можете, поскольку базовые поставки R (в исходном коде) без таких базовых R Core считают, правильно или неправильно, что они не могут играть в избранное и устанавливать его. Некоторые из нас думают, что это неправильно (поскольку это снижает удобство работы пользователя — как у вас здесь), поэтому в пакете Debian (и, следовательно, Ubuntu) я установил это на «облачное» зеркало, к которому все близки, поскольку оно находится на 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
, на кластере.