关于r:安装devtools软件包的问题

Problems installing the devtools package

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

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

我究竟做错了什么?

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
> 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


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

编辑(@dardisco)

在您的外壳中:

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


如果您使用的是Ubuntu / Linux:

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


如果您使用的是CentOS:

尝试:

1
sudo yum -y install libcurl libcurl-devel


对于ubuntu用户,请在终端机上运行此命令[在UBUNTU 16.04中测试]

1
sudo apt-get -y install libcurl4-openssl-dev

使用您通常在R中使用的方式发布此安装库

1
install.packages("package name")


如今(ubuntu 14.04)我同时需要:

1
2
 $ sudo apt-get -y install libcurl4-gnutls-dev
 $ sudo apt-get -y install libssl-dev


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

1
sudo apt-get build-dep libxml2-dev

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

然后,我终于明白了:

1
2
> find_rtools()
[1] TRUE

我在Ubuntu 18.04上遇到了这个问题,以前的答案都没有解决它。最终,我通过包管理器本身安装了devtools

sudo apt install r-cran-devtools


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

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

1
R --version

然后使用这些命令

1
2
sudo apt-get update
sudo apt-get upgrade

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

1
sudo apt-cache showpkg r-base

现在仅更新R。

1
sudo apt-get install r-base

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

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

要么

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

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

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

对我有用的是:

1
conda install -c r r-devtools

然后在R

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

sessionInfo()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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


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

我用下面的代码:

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

然后library(devtools)为我工作。


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

1
sudo yum reinstall gnutls-devel.x86_64

我通过安装以下所有工具解决了许多问题,以获取可在Ubuntu 18.04.1上安装的devtools。

1
2
3
4
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

CentOS 7:

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

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

但是还不够。

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

1
sudo yum -y install libxml2-devel

Centos的6.8

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

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