[英]Dependency issue while installing caret package in 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
正如插入符号文档建议执行install.packages("caret", dependencies = c("Depends", "Suggests"))
以确保安装所有需要的包并解决所有依赖项
当我安装插入符号包时,我遇到了类似的问题。 我发现的问题是由更新包依赖引起的。 更新一些包也会改变它们的依赖项,这些依赖项可能没有正确的版本供以后在其他包中使用。 就像我安装插入符号时一样,它显示:
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'”。
我在尝试在 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)
我发现,一旦我从操作系统安装了来自 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)
(*) 我使用了本地存储库,因为没有直接的互联网连接,但存储库位置无关紧要。
我在几个包裹(汽车、素食、心理……)上遇到了类似的问题。 它是通过在命令行(终端)中运行来解决的:
sudo apt-get install r-base-dev
R
> install.packages("car")
苏尔特!
我有一个类似的问题。 我用了
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
那么第一个命令就成功了。
我也有插入符号包安装的类似问题。
我使用 Linux Mint 17.3 Cinnamon 64 位:
使用命令进行第一个插入符号安装
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 是对我的回答。
快乐的结局并感谢您在本次讨论中的提示!
我遇到了典型的问题。
当我开始加载依赖包时,我发现错误:
was installed by an R version with different internals
重新安装这些软件包对我有帮助
我之前在 Linux 上安装过它,它可以工作:
sudo apt-get install -y r-cran-rcppeigen
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.