R中的“安装软件包’FILE_PATH’的退出状态为非零”

“installation of package 'FILE_PATH' had non-zero exit status” in R

通过使用以下命令在R中安装软件包:

1
install.packages('FILE_PATH', repos=NULL, type ="source")

我收到以下错误:

Installing package into ‘/home/p/R/x86_64-pc-linux-gnu-library/3.0’
(as ‘lib’ is unspecified)
Errore in rawToChar(block[seq_len(ns)]) :
embedded nul in string: 'PK\003\004\024\0\002\0\b\0]\xadVCr\xcb\xea\xfcR\0\0\0\xa7\0\0\0\027\0\0\0bivpois-Rcode/.Rhistory+\xce/-JN\xd5PO\xca,+\xc8\xcf,\xd6+IL\xcaI\xd5\vR\xd7\xe4\xe5*\x86J\xe5\xe4\xea%\025`\b\xa5d\xa2\v楖\xe7%\xe6'
Warning message:
In install.packages("/home/p/Research/14_bivpois-Rcode.zip", repos = NULL, :
installation of package ‘/home/p/Research/14_bivpois-Rcode.zip’ had non-zero exit status

R版本是3.0.2 (2013-09-25) --"Frisbee Sailing",操作系统是Linux Mint(UNIX)。

为什么会出现该错误,这是什么意思:

installation of package ‘/home/p/Research/14_bivpois-Rcode.zip’ had non-zero exit status

在R?

您可以在此处找到该软件包,并且文件14_bivpois-Rcode.zip是源。

我尝试将其安装在本地,并且路径是正确的路径。

有建议在UNIX中安装该软件包吗?


在Linux上按照libs进行简单安装。
curl:sudo apt-get安装curl
libssl-dev:sudo apt-get安装libssl-dev
libcurl:sudo apt-get安装libcurl4-openssl-dev
xml2:sudo apt-get安装libxml2-dev


作者提供的.zip文件不是有效的R包,他们确实声明源是R中的"直接使用"(我认为它们表示必须手动加载所包含的函数)。 non-zero exit status仅表示在"软件包"的安装过程中出错。

您可以手动提取存档,然后使用例如source('bivpois.table.R')加载其中的功能,也可以下载它们提供的.RData文件,然后使用load('.RData')将其加载到工作区中。这不会将功能作为软件包的一部分安装。而是将功能加载到您的全局环境中,使其暂时可用。

您可以按照以下步骤从R下载,提取和加载.RData:

1
2
3
4
download.file('http://stat-athens.aueb.gr/~jbn/papers/files/14/14_bivpois_RDATA.zip',
              f <- tempfile())
unzip(f, exdir=tempdir())
load(file.path(tempdir(), '.RData'))

如果希望.RData文件在当前工作目录中可用并在以后加载,则可以使用以下命令:

1
2
3
4
5
6
7
download.file('http://stat-athens.aueb.gr/~jbn/papers/files/14/14_bivpois_RDATA.zip',
              f <- tempfile())
unzip(f, exdir=tempdir())
file.copy(file.path(tempdir(), '.RData'), 'bivpois.RData')
# the above copies the .RData file to a file called bivpois.RData in your current
# working directory.
load('bivpois.RData')

在以后的R会话中,您可以仅调用load('bivpois.RData')


您可以尝试使用以下命令:install.packages('* package_name',dependencies = TRUE)

例如,您必须在Linux的R机器中安装'caret'软件包:install.packages('caret',dependencies = TRUE)

这样做,还将下载该软件包的所有依赖项。


您是否检查了系统中的gsl软件包。试试这个:

1
ldconfig-p | grep gsl

如果安装了gsl,它将显示配置路径。如果它不在标准路径/usr/lib/中,则需要在bash中执行以下操作:

1
export PATH=$PATH:/your/path/to/gsl-config

如果未安装gsl,只需执行

1
2
sudo apt-get install libgsl0ldbl
sudo apt-get install gsl-bin libgsl0-dev

我在mvabund包中遇到了问题,这解决了错误

干杯!


我在尝试安装名为AED的软件包时遇到了类似的问题。我尝试使用install.packages()命令:

1
install.packages('FILE_PATH', repos=NULL, type ="source")

但不断收到以下警告消息:

1
2
3
4
Warning message:
In install.packages("/Users/blahblah/R-2.14.0/AED",  :
installation of package ‘/Users/blahblah/R-2.14.0/AED’ had
non-zero exit status

事实证明,文件夹" AED"中有另一个尚未解压缩的文件夹。我只是解压缩了它,然后尝试再次安装该程序包,它正常工作。


我遇到了同样的问题,但是@little_chemist的回答帮助我进行了排序。在Unix操作系统(对我而言,Ubuntu 18.04)中从文件安装软件包时,无法压缩该文件。您正在使用:

1
install.packages("/home/p/Research/14_bivpois-Rcode.zip", repos = NULL, type="source")

我注意到解决方案就像解压缩包一样简单。另外,如@little_chemist指出的那样,解压缩所有(与安装相关的?)软件包。然后使用install.packages:

1
install.packages("/home/p/Research/14_bivpois-Rcode", repos = NULL, type="source")

希望能帮助到你!


我在R中使用特定的软件包时遇到了同样的问题,解决方案是我应该将其安装在ubuntu终端机libcurl中。
查看上面显示的信息,向我们说明curl软件包安装错误。

我知道以下信息:

1
2
3
4
5
6
7
8
Configuration failed because libcurl was not found. Try installing:
 * deb: libcurl4-openssl-dev (Debian, Ubuntu, etc)
 * rpm: libcurl-devel (Fedora, CentOS, RHEL)
 * csw: libcurl_dev (Solaris)
If libcurl is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a libcurl.pc file. If pkg-config
is unavailable you can set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'

要安装它,我使用了net命令:

sudo apt-get install libcurl4-openssl-dev

有时我们无法在R中安装特定的软件包,因为我们必须事先将它们作为curl软件包安装。要知道是否应该安装它,我们应该检查警告错误,例如:安装" curl"软件包的退出状态为非零。

我希望我会有所帮助


试试这个:

1
    apt-get install r-base-dev

这会有所帮助。之后,我可以制作install.packages('//package_name')