安装devtools软件包时出现问题


162

我希望使用该devtools包装。我运行了以下命令:

> install.packages("devtools", dependencies = TRUE)
....
> library(devtools)
Error in library(devtools) : there is no package called ‘devtools’

我究竟做错了什么?

编辑:这是重新install.packages启动会话后重新运行命令的结果。

> install.packages("devtools", dependencies = TRUE)
Installing package into ‘/home/evanaad/R/x86_64-pc-linux-gnu-library/3.0(as ‘lib’ is unspecified)
--- Please select a CRAN mirror for use in this session ---
Warning: dependencies ‘roxygen2’, ‘BiocInstaller’, ‘rstudio’ are not available
also installing the dependencies ‘httr’, ‘RCurl’

trying URL 'http://cran.at.r-project.org/src/contrib/httr_0.2.tar.gz'
Content type 'application/x-gzip' length 50183 bytes (49 Kb)
opened URL
==================================================
downloaded 49 Kb

trying URL 'http://cran.at.r-project.org/src/contrib/RCurl_1.95-4.1.tar.gz'
Content type 'application/x-gzip' length 870915 bytes (850 Kb)
opened URL
==================================================
downloaded 850 Kb

trying URL 'http://cran.at.r-project.org/src/contrib/devtools_1.4.1.tar.gz'
Content type 'application/x-gzip' length 105214 bytes (102 Kb)
opened URL
==================================================
downloaded 102 Kb

* installing *source* package ‘RCurl’ ...
** package ‘RCurl’ successfully unpacked and MD5 sums checked
checking for curl-config... no
Cannot find curl-config
ERROR: configuration failed for package ‘RCurl’
* removing ‘/home/evanaad/R/x86_64-pc-linux-gnu-library/3.0/RCurl’
ERROR: dependency ‘RCurl’ is not available for package ‘httr’
* removing ‘/home/evanaad/R/x86_64-pc-linux-gnu-library/3.0/httr’
ERROR: dependencies ‘httr’, ‘RCurl’ are not available for package ‘devtools’
* removing ‘/home/evanaad/R/x86_64-pc-linux-gnu-library/3.0/devtools’

The downloaded source packages are in/tmp/RtmptvmTrA/downloaded_packages’
Warning messages:
1: In install.packages("devtools", dependencies = TRUE) :
  installation of package ‘RCurl’ had non-zero exit status
2: In install.packages("devtools", dependencies = TRUE) :
  installation of package ‘httr’ had non-zero exit status
3: In install.packages("devtools", dependencies = TRUE) :
  installation of package ‘devtools’ had non-zero exit status

基于此信息很难说。安装似乎成功完成了吗?
Ben Bolker 2014年

@BenBolker:我不能再说了。我很傻,以退出会话,而没有注意到安装是否成功。我注销后认为R需要“重新启动”才能拿起新安装的软件包。不幸的是,它没有按预期运行...现在我能做些什么吗?
Evan Aad 2014年

1
重新运行install.packages命令后会发生什么?
damienfrancois 2014年

@damienfrancois:我已经用相关输出更新了我的原始帖子。
Evan Aad 2014年

8
尝试安装curl-devcurl-devel与您的软件包管理器一起安装,或搜索libcurl
damienfrancois 2014年

Answers:


195

按照damienfrancois的建议,我安装了libcurl4-gnutls-dev并解决了问题。

编辑(@dardisco)

在您的外壳中:

apt-get -y build-dep libcurl4-gnutls-dev
apt-get -y install libcurl4-gnutls-dev

8
即,(从BASH): apt-get -y build-dep libcurl4-gnutls-devapt-get -y install libcurl4-gnutls-dev
dardisco

2
像魅力一样工作。但是我仍然无法理解,这些ubuntu软件包如何解决它?
rishy 2015年

我已经在Ubuntu中尝试了您的方法,这些说明似乎运行良好,并且devtools的安装也似乎成功。但是,当我尝试使用library(devtools)加载库但我只收到这些消息时Error in library(devtools) : there is no package called ‘devtools’
sikisis 2015年

7
我认为您不需要的构建依赖项(build-deplibcurl4-gnutls-dev,因为您不会自己构建它。只需安装软件包即可正常工作。
Gerhard Burger 2015年

1
构建DEP并没有为我工作,但我没有这样做sudo apt-get install libssl-dev
wordsforthewise

103

如果您使用的是Ubuntu / Linux:

sudo apt-get install libcurl4-openssl-dev libssl-dev

2
我在Ubuntu 16.04中遇到此错误,以下信息可能有助于解决问题:以下软件包具有未满足的依赖项:libcurl4-openssl-dev:依赖:libcurl3(= 7.47.0-1ubuntu2)但7.47.0-1ubuntu2.2将要安装libssl-dev:取决于:libssl1.0.0(= 1.0.2g-1ubuntu4)但将要安装1.0.2g-1ubuntu4.6推荐:libssl-doc但不会被安装E:无法纠正问题,您拿着破损的包裹。
Artiga

我唯一要添加的是末尾的“ -y”,因此您不必说“是”。这些天没有时间同意。
wordforthewise

2
这应该在R.的文档中
。– PaulDong

我在Ubuntu 16.04中尝试过。libcurl已安装。但是R中仍未安装devtools。我可能会丢失什么?谢谢。
BobbyF

1
同样适用于Ubuntu 18.04。
克鲁

49

如果您使用的是CentOS:

尝试:

sudo yum -y install libcurl libcurl-devel

4
这对于AWS实例上的任何人特别有用
d8aninja

2
我还需要sudo yum -y install openssl-devel(在AWS上)
Richard DiSalvo

1
最近的Fedora:sudo dnf install libcurl libcurl-devel
Jefferson

1
未经root许可如何安装?
anilbey



9

对于我的Debian Jessie盒子,我还包括:

sudo apt-get build-dep libxml2-dev

提示:R工具控制台的输出非常冗长,因此我将检查是否存在其他依赖项。

然后,我终于明白了:

> find_rtools()
[1] TRUE

8

我在Ubuntu 18.04上遇到了这个问题,以前的答案都没有解决它。最终,我成功安装devtools了软件包管理器:

sudo apt install r-cran-devtools


我在Ubuntu 18.04中遇到了相同的问题,并在此处用此答案解决了。谢谢
719016

7

解决此问题的最佳解决方案。我在搜索相同的问题。我花了1天,然后得到了解决方案。现在,很好。

如果您使用的是Ubuntu或Linux,请在bash终端中检查R版本。

R --version

然后使用这些命令

sudo apt-get update 
sudo apt-get upgrade              

现在检查R的新版本。使用此命令

sudo apt-cache showpkg r-base

现在仅更新R。

sudo apt-get install r-base

现在,R将被更新,错误将被消除。确保到cd您要在其中安装新软件包的库路径。在bash终端中以这种方式。尝试在主文件夹中创建R目录,否则它将是默认目录。找到软件包〜/ R / lib /的位置。

R
.libPaths("~/R/lib")
install.packages("devtools")

要么

install.packages("devtools", lib="~/R/lib")

4

以上答案均不适用于使用R版本3.6.1的Ubuntu 18.04.3 LTS

我的猜测是这可能与Anaconda3...有关

对我有用的是:

conda install -c r r-devtools 

然后在 R

install.packages("rlang")
install.packages("devtools")

sessionInfo()

R version 3.6.1 (2019-07-05)
Platform: x86_64-conda_cos6-linux-gnu (64-bit)
Running under: Ubuntu 18.04.3 LTS

Matrix products: default
BLAS/LAPACK: /home/tsundoku/anaconda3/lib/R/lib/libRblas.so

locale:
 [1] LC_CTYPE=en_CA.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_CA.UTF-8        LC_COLLATE=en_CA.UTF-8    
 [5] LC_MONETARY=en_CA.UTF-8    LC_MESSAGES=en_CA.UTF-8   
 [7] LC_PAPER=en_CA.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_3.6.1 tools_3.6.1    tcltk_3.6.1   

谢谢!这是唯一为我工作的人。
DavidC

3

CentOS 7:我已经安装了libcurl和gnutls开发包,但是在R中安装devtools时仍然出现“无法加载git2r.so”错误。我必须“重新安装”它们才能工作:

sudo yum reinstall gnutls-devel.x86_64

3

我在Windows上遇到了同样的问题。

我用下面的代码:

install.packages("devtools", type = "win.binary")

然后library(devtools)为我工作。


2

在安装以下所有程序时,我解决了许多问题,以获取可在Ubuntu 18.04.1。上安装的devtools。

sudo apt-get install libcurl4-openssl-dev
sudo apt-get install libssl-dev
sudo apt-get install libcurl4-gnutls-dev
sudo apt-get install libxml2-dev

0

Centos的6.8

这项工作对我来说就像魅力

  1. 安装libcurl $yum -y install libcurl libcurl-devel
  2. 重新启动R Software $rstudio-server verify-installation

0

CentOS 7:

我在这篇文章中尝试了解决方案

sudo yum -y install libcurl libcurl-devel
sudo yum -y install openssl-devel

但是还不够。

在控制台中检查R错误给了我答案。就我而言,它在下面缺少libxml-2.0(并且Console打印了带有不同Linux版本和其他可能的R配置的程序包名称的说明)

sudo yum -y install libxml2-devel
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.