安装devtools包时出现问题

Eva*_*Aad 149 r devtools package

我希望使用这个devtools包.我运行以下命令:

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

我究竟做错了什么?

编辑:以下是重新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
Run Code Online (Sandbox Code Playgroud)

Eva*_*Aad 189

根据damienfrancois的建议,我安装了libcurl4-gnutls-dev,问题解决了.

编辑(@dardisco)

在你的shell中:

apt-get -y build-dep libcurl4-gnutls-dev
apt-get -y install libcurl4-gnutls-dev
Run Code Online (Sandbox Code Playgroud)

  • 即(来自BASH):`apt-get -y build-dep libcurl4-gnutls-dev`,`apt-get -y install libcurl4-gnutls-dev` (8认同)
  • 我不认为你需要`libcurl4-gnutls-dev`的构建依赖项(`build-dep`),因为你不打算自己构建它.只是安装包应该工作正常. (7认同)
  • 像魅力一样工作.但我仍然无法理解这些ubuntu软件包是如何解决的? (2认同)
  • 构建 dep 对我不起作用,但我也做了 `sudo apt-get install libssl-dev` (2认同)

Say*_*ane 94

如果您使用的是Ubuntu/Linux:

sudo apt-get install libcurl4-openssl-dev libssl-dev
Run Code Online (Sandbox Code Playgroud)

  • 截至 2022 年,还需要一些库。所以整个事情就是“sudo apt-get install libcurl4-openssl-dev libssl-dev libfontconfig1-dev libxml2-dev libharfbuzz-dev libfribidi-dev libfreetype6-dev libpng-dev libtiff5-dev libjpeg-dev”。似乎可以做到这一点。 (5认同)
  • 我在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:无法正确的问题,你已经破了包裹. (2认同)
  • 这应该在R的文档中。 (2认同)
  • 截至 2023 年 1 月,@AmitKohli 的答案是正确的。 (2认同)

ken*_*yut 48

如果您使用的是CentOS:

尝试:

sudo yum -y install libcurl libcurl-devel
Run Code Online (Sandbox Code Playgroud)

  • 这对AWS实例上的任何人都特别有用 (4认同)
  • 我还需要`sudo yum -y install openssl-devel`(在AWS上) (2认同)
  • 最近的 Fedora:`sudo dnf install libcurl libcurl-devel` (2认同)
  • 没有root权限如何安装它们? (2认同)

Luí*_*usa 11

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

sudo apt install r-cran-devtools

  • 我在 Ubuntu 18.04 中遇到了同样的问题,并用这里的答案解决了它。谢谢 (2认同)

Oli*_*ock 10

如今(ubuntu 14.04)我需要两个:

 $ sudo apt-get -y install libcurl4-gnutls-dev
 $ sudo apt-get -y install libssl-dev
Run Code Online (Sandbox Code Playgroud)


小智 10

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

sudo apt-get -y install libcurl4-openssl-dev
Run Code Online (Sandbox Code Playgroud)

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

install.packages("package name")
Run Code Online (Sandbox Code Playgroud)

  • 这与[Sayali的回答](http://stackoverflow.com/a/38698271/322912)有什么不同? (2认同)

小智 9

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

我使用了以下代码:

install.packages("devtools", type = "win.binary")
Run Code Online (Sandbox Code Playgroud)

然后库(devtools)为我工作。


esp*_*ore 8

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

sudo apt-get build-dep libxml2-dev
Run Code Online (Sandbox Code Playgroud)

提示:r-tool控制台输出非常详细,所以我会检查任何其他依赖项.

然后,我终于明白了:

> find_rtools()
[1] TRUE
Run Code Online (Sandbox Code Playgroud)


Mat*_*ach 7

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

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

对我有用的是:

conda install -c r r-devtools 
Run Code Online (Sandbox Code Playgroud)

然后在 R

install.packages("rlang")
install.packages("devtools")
Run Code Online (Sandbox Code Playgroud)

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   
Run Code Online (Sandbox Code Playgroud)

  • 伟大的 !万分感谢 !!它也适用于 Ubuntu 20.04 LTS 和 R v3.6.1 的 conda 环境 (2认同)

Haf*_*Ali 5

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

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

R --version
Run Code Online (Sandbox Code Playgroud)

然后使用这些命令

sudo apt-get update 
sudo apt-get upgrade              
Run Code Online (Sandbox Code Playgroud)

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

sudo apt-cache showpkg r-base
Run Code Online (Sandbox Code Playgroud)

现在仅更新R。

sudo apt-get install r-base
Run Code Online (Sandbox Code Playgroud)

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

R
.libPaths("~/R/lib")
install.packages("devtools")
Run Code Online (Sandbox Code Playgroud)

要么

install.packages("devtools", lib="~/R/lib")
Run Code Online (Sandbox Code Playgroud)