Проблема зависимости при установке пакета Caret в R

Я пытаюсь установить пакет R caret

Что дает мне ERROR: dependencies ‘ggplot2’, ‘reshape2’, ‘BradleyTerry2’ are not available for package ‘caret’

Я попытался установить каждый из них по отдельности, что снова показывает, что установка продолжается, заканчиваясь сообщением о том, что installation of package ‘X’ had non-zero exit status

1: In install.packages("caret") :
  installation of package ‘minqa’ had non-zero exit status
2: In install.packages("caret") :
  installation of package ‘RcppEigen’ had non-zero exit status
3: In install.packages("caret") :
  installation of package ‘scales’ had non-zero exit status
4: In install.packages("caret") :
  installation of package ‘reshape2’ had non-zero exit status
5: In install.packages("caret") :
  installation of package ‘lme4’ had non-zero exit status
6: In install.packages("caret") :
  installation of package ‘ggplot2’ had non-zero exit status
7: In install.packages("caret") :
  installation of package ‘BradleyTerry2’ had non-zero exit status
8: In install.packages("caret") :
  installation of package ‘caret’ had non-zero exit status

Запросить рекурсивно установить какой-нибудь пакет. В чем проблема?

У меня была более старая версия, где я получал аналогичную ошибку. Я удалил и установил последнюю. Текущая версия R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet", но по-прежнему появляется похожее сообщение об ошибке.

ОБНОВЛЕНИЕ

НАЧАЛСЯ с: install.packages('caret', repos='http://cran.rstudio.com/'), который отображает сообщение:

Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
also installing the dependencies ‘minqa’, ‘RcppEigen’, ‘scales’, ‘lme4’, ‘ggplot2’, ‘reshape2’, ‘BradleyTerry2’

и процесс заканчивается:

installing to /usr/local/lib/R/site-library/reshape2/libs
** R
** data
*** moving datasets to lazyload DB
** inst
** preparing package for lazy loading
Error : package ‘stringr’ was built before R 3.0.0: please re-install it
ERROR: lazy loading failed for package ‘reshape2’
* removing ‘/usr/local/lib/R/site-library/reshape2’
ERROR: dependencies ‘minqa’, ‘RcppEigen’ are not available for package ‘lme4’
* removing ‘/usr/local/lib/R/site-library/lme4’
ERROR: dependencies ‘reshape2’, ‘scales’ are not available for package ‘ggplot2’
* removing ‘/usr/local/lib/R/site-library/ggplot2’
ERROR: dependency ‘lme4’ is not available for package ‘BradleyTerry2’
* removing ‘/usr/local/lib/R/site-library/BradleyTerry2’
ERROR: dependencies ‘ggplot2’, ‘reshape2’, ‘BradleyTerry2’ are not available for package ‘caret’
* removing ‘/usr/local/lib/R/site-library/caret’

The downloaded source packages are in
    ‘/tmp/RtmpcLo8Rw/downloaded_packages’
Warning messages:
1: In install.packages("caret", repos = "http://cran.rstudio.com/") :
  installation of package ‘minqa’ had non-zero exit status
2: In install.packages("caret", repos = "http://cran.rstudio.com/") :
  installation of package ‘RcppEigen’ had non-zero exit status
3: In install.packages("caret", repos = "http://cran.rstudio.com/") :
  installation of package ‘scales’ had non-zero exit status
4: In install.packages("caret", repos = "http://cran.rstudio.com/") :
  installation of package ‘reshape2’ had non-zero exit status
5: In install.packages("caret", repos = "http://cran.rstudio.com/") :
  installation of package ‘lme4’ had non-zero exit status
6: In install.packages("caret", repos = "http://cran.rstudio.com/") :
  installation of package ‘ggplot2’ had non-zero exit status
7: In install.packages("caret", repos = "http://cran.rstudio.com/") :
  installation of package ‘BradleyTerry2’ had non-zero exit status
8: In install.packages("caret", repos = "http://cran.rstudio.com/") :
  installation of package ‘caret’ had non-zero exit status

person user123    schedule 15.12.2014    source источник
comment
Вы пробовали после изменения repos? т.е. install.packages('caret', repos='http://cran.rstudio.com/')   -  person akrun    schedule 15.12.2014
comment
@arkun: да, пробовал, проверьте обновление   -  person user123    schedule 15.12.2014
comment
Если это так, я бы сначала переустановил stringr, а затем установил зависимости одну за другой, изменив repos, если он недоступен, а затем установил caret. Кстати, у меня также есть pumpkin helmet и установлен caret.   -  person akrun    schedule 15.12.2014
comment
@akrun: какая у тебя версия R?   -  person user123    schedule 15.12.2014
comment
Та же версия, что и у вас R 3.1.2 и caret_6.0-35, stringr_0.6.2   -  person akrun    schedule 15.12.2014
comment
Сотрите мой предыдущий комментарий — по крайней мере, для OSX бинарные файлы CRAN были собраны под 3.1.0 и должны нормально устанавливаться. Кстати, какую ОС вы используете?   -  person Carl Witthoft    schedule 15.12.2014
comment
Установлен ли gcc-fortran?   -  person imriss    schedule 22.02.2016


Ответы (8)


Как предлагает документация Caret, выполните install.packages("caret", dependencies = c("Depends", "Suggests")), чтобы убедиться, что все необходимые пакеты установлены. и разрешить все зависимости

person Guillermo Santamaría    schedule 07.01.2016
comment
Мне не помогло на Fedora 25. Судоинг тоже не помог. Более 50 предупреждений о недоступности зависимостей. - person Slazer; 18.05.2017
comment
Я пытался установить с помощью install_load(), и это решило мою проблему. - person crypdick; 22.05.2018

У меня аналогичная проблема, когда я установил пакет Caret. Проблема, которую я обнаружил, была вызвана обновлением зависимости пакета. Обновление некоторых пакетов также изменит их зависимости, у которых может не быть правильной версии для последующего использования в других пакетах. Например, когда я устанавливаю каретку, он показывает:

Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) : there is no package called minqa?

Решение, которое я нашел, состоит в том, чтобы сначала найти, какой пакет вызывает проблему. Вы можете получить эту информацию, просто установив нужный пакет. Для меня это "minqa". Так что просто установите этот пакет самостоятельно.

install.packages("minqa")

Моя проблема решилась таким образом.

Для вас вам нужно установить «minqa», «RcppEigen», «scales», «lme4», «ggplot2», «reshape2», «BradleyTerry2» один за другим.

person tigergopro    schedule 15.02.2015

Я столкнулся с похожими проблемами с зависимостями при попытке установить каретку на R:

> install.packages("caret", contriburl = "file:///usr/repo_AO/CRAN/")
ERROR: dependency ‘car’ is not available for package ‘caret’

> install.packages("car", contriburl = "file:///usr/repo_AO/CRAN/")
Installing package into ‘/usr/share/R/library-users’
(as ‘lib’ is unspecified)
Warning message:
package ‘car’ is not available (for R version 3.1.2) 

'car' package is for >= R 3.2
> R.version                
version.string R version 3.1.2 (2014-10-31)

Я обнаружил, что «каре» больше не запрашивает зависимости после установки из ОС. старая версия "car" из пакета R-car-2.0_21-1.8.x86_64.rpm:

$ sudo yum install --nogpgcheck R-car-2.0_21-1.8.x86_64.rpm
Setting up Install Process
Examining R-car-2.0_21-1.8.x86_64.rpm: R-car-2.0_21-1.8.x86_64
Marking R-car-2.0_21-1.8.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package R-car.x86_64 0:2.0_21-1.8 will be installed
--> Finished Dependency Resolution
---8<---
Installed:
  R-car.x86_64 0:2.0_21-1.8                                                              
    Complete!

Затем:

    > install.packages("caret", contriburl = "file:///usr/repo_AO/CRAN/")
    Installing package into ‘/usr/share/R/library-users’
    (as ‘lib’ is unspecified)
    also installing the dependency ‘ggplot2’
    * installing *source* package ‘ggplot2’ ...
    ** package ‘ggplot2’ successfully unpacked and MD5 sums checked
    ----8<----
    ** building package indices
    ** installing vignettes
    ** testing if installed package can be loaded
    * DONE (ggplot2)
    * installing *source* package ‘caret’ ...
    ** package ‘caret’ successfully unpacked and MD5 sums checked
    ** libs
    gcc -m64 -std=gnu99 -I/usr/include/R -DNDEBUG  -I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic  -c caret.c -o caret.o
    gcc -m64 -std=gnu99 -shared -L/usr/lib64/R/lib -L/usr/local/lib64 -o caret.so caret.o -L/usr/lib64/R/lib -lR
    installing to /usr/share/R/library-users/caret/libs
    ----8<----
    ** testing if installed package can be loaded
    * DONE (caret)

(*) Я использовал локальный репозиторий, потому что нет прямого подключения к Интернету, но местоположение репо не имеет значения.

person Ra_    schedule 06.11.2015

  • В Linux Mint 17.3 KDE "Rosa" (64 бит), x86_64-pc-linux-gnu,
  • После установки R версии 3.3.0 (03.05.2016) — «Предположительно для образовательных учреждений».

У меня были похожие проблемы с несколькими пакетами (автомобиль, веган, психолог,...). Решилось запуском в командной строке (Терминал):

sudo apt-get install r-base-dev

R

> install.packages("car")

Суэрте!

person Pablo Hernández Almaraz    schedule 07.06.2016

У меня была аналогичная проблема. я использовал

install.packages("caret", dependencies = c("Depends"), repos='http://cran.rstudio.com/')
и получил
ERROR: dependency 'car' is not available for package 'caret'
Установка машины отдельно через R не сработала, но с менеджером пакетов моего дистрибутива (Fedora)
dnf install R-car

Тогда первая команда была успешной.

person Sören    schedule 30.04.2016

У меня также была аналогичная проблема с установкой пакета caret.

Я использую Linux Mint 17.3 Cinnamon 64-бит:

  • R версия 3.3.0 (2016-05-03)
  • Платформа: x86_64-pc-linux-gnu (64-разрядная версия)
  • Работает под: Ubuntu 14.04.4 LTS

Первая установка каретки с помощью команды

install.packages('caret', repos='http://cran.rstudio.com/')

выдал следующие сообщения об ошибках...

* installing *source* package ‘minqa’ ...
** package ‘minqa’ successfully unpacked and MD5 sums checked
** libs
gfortran   -fpic  -g -O2 -fstack-protector --param=ssp-buffer-size=4  -c altmov.f -o altmov.o
/bin/bash: gfortran: command not found
make: *** [altmov.o] Error 127
ERROR: compilation failed for package ‘minqa’
* removing ‘/home/myusername/R/x86_64-pc-linux-gnu-library/3.3/minqa’
Warning in install.packages :
  installation of package ‘minqa’ had non-zero exit status
* installing *source* package ‘RcppEigen’ ...
** package ‘RcppEigen’ successfully unpacked and MD5 sums checked
** libs

...

/usr/bin/ld: cannot find -llapack
/usr/bin/ld: cannot find -lblas
/usr/bin/ld: cannot find -lgfortran
collect2: error: ld returned 1 exit status
make: *** [RcppEigen.so] Error 1
ERROR: compilation failed for package ‘RcppEigen’

...

Затем я попытался запустить

install.packages("RcppEigen")

Но это не сработало и выдало те же ошибки о llapack и т. д. Затем я запустил в командной строке linux:

sudo apt-get install liblapack-dev

(это установка необходимых библиотек)

И после этого команда

install.packages("RcppEigen") 

работал очень хорошо и так же

install.packages('caret', repos='http://cran.rstudio.com/')

Так что этот liblapack-dev был мне ответом.

Счастливый конец и спасибо за подсказки в этом обсуждении!

person vtenhunen    schedule 09.05.2016

У меня была типичная проблема.
Когда я начал загружать пакеты зависимостей, я обнаружил ошибку:
was installed by an R version with different internals

Мне помогла переустановка этих пакетов

person Kirill Panin    schedule 17.10.2018

Я уже устанавливал это на Linux, и оно работает:
sudo apt-get install -y r-cran-rcppeigen

person igorkf    schedule 15.08.2020