在Linux Mint 17上运行R 3.1.2,当我尝试安装流行的软件包时,我得到non-zero exit status
。示例install.packages
尝试的完整输出如下:
> install.packages("plyr")
Installing package into ‘/home/joe_kendrick/R/x86_64-pc-linux-gnu-library/3.1’
(as ‘lib’ is unspecified)
trying URL 'http://cran.rstudio.com/src/contrib/plyr_1.8.1.tar.gz'
Content type 'application/x-gzip' length 393233 bytes (384 Kb)
opened URL
==================================================
downloaded 384 Kb
* installing *source* package ‘plyr’ ...
** package ‘plyr’ successfully unpacked and MD5 sums checked
** libs
g++ -I/usr/share/R/include -DNDEBUG -I"/usr/lib/R/site-library/Rcpp/include" -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g -c RcppExports.cpp -o RcppExports.o
/bin/bash: g++: command not found
make: *** [RcppExports.o] Error 127
ERROR: compilation failed for package ‘plyr’
* removing ‘/home/joe_kendrick/R/x86_64-pc-linux-gnu-library/3.1/plyr’
The downloaded source packages are in
‘/tmp/RtmpXe52Mz/downloaded_packages’
Warning message:
In install.packages("plyr") :
installation of package ‘plyr’ had non-zero exit status
对于我尝试安装的其他软件包,我得到了基本相同的消息,例如ggplot2
和vegan
,但在许多情况下,它尝试并且无法安装依赖项时更加冗长。
这似乎是一个有点常见的问题,但其他人似乎有outdated software或insufficient memory。我正在运行Mint和R的最新稳定版本,并且我有足够的RAM和交换文件,因此我认为这些都不会导致我的问题。
答案 0 :(得分:13)
根据错误消息
/bin/bash: g++: command not found
您需要安装C ++编译器。我将从其中一个开始:
sudo apt-get install build-essentials # key tools
或
sudo apt-get install r-base-dev # many development tools for R
或当然
sudo apt-get install r-cran-rcpp # to not install from source
虽然您获得的Rcpp可能比您需要的更旧。
基于Debian的系统的用户有一个列表r-sig-debian
。
答案 1 :(得分:0)
在我的情况下,我正在运行一个相当新的Mint 18安装,我错过了某些软件包。根据R中的错误消息,我尝试安装" readr",但由于我缺少底层软件包而无法安装," libcurl4-openssl-dev"。我得到了,然后readr安装没有错误,现在我的RStudio包正常加载。
答案 2 :(得分:0)
您应该测试1的哪个存储库适用于Linux Distro。尝试将一个一个添加到您的“ /etc/apt/sources.list”并运行:
sudo apt更新
sudo apt安装r-base
在Linux Mint 18.3上,它可用于:
deb https://cloud.r-project.org/bin/linux/ubuntu xenial-cran35 /
或
deb https://cloud.r-project.org/bin/linux/ubuntu xenial-cran40 /