【问题标题】:curl package not available for several R packagescurl 包不适用于几个 R 包
【发布时间】:2018-08-29 16:52:38
【问题描述】:

我刚刚安装了 ubunutu 18.04,并成功安装了 R 版本 3.5.1。我在安装 R 包时遇到问题,例如 plotly。似乎 curl 和 httr 包不可用。完整的错误信息:

> install.packages("plotly")
Installing package into ‘/home/lualeperez/R/x86_64-pc-linux-gnu-library/3.5’
(as ‘lib’ is unspecified)
also installing the dependencies ‘curl’, ‘openssl’, ‘httr’

trying URL 'https://cloud.r-project.org/src/contrib/curl_3.2.tar.gz'
Content type 'application/x-gzip' length 367047 bytes (358 KB)
==================================================
downloaded 358 KB

trying URL 'https://cloud.r-project.org/src/contrib/openssl_1.0.2.tar.gz'
Content type 'application/x-gzip' length 1194883 bytes (1.1 MB)
==================================================
downloaded 1.1 MB

trying URL 'https://cloud.r-project.org/src/contrib/httr_1.3.1.tar.gz'
Content type 'application/x-gzip' length 147593 bytes (144 KB)
==================================================
downloaded 144 KB

trying URL 'https://cloud.r-project.org/src/contrib/plotly_4.8.0.tar.gz'
Content type 'application/x-gzip' length 1860673 bytes (1.8 MB)
==================================================
downloaded 1.8 MB

* installing *source* package ‘curl’ ...
** package ‘curl’ successfully unpacked and MD5 sums checked
Package libcurl was not found in the pkg-config search path.
Perhaps you should add the directory containing `libcurl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libcurl' found
Package libcurl was not found in the pkg-config search path.
Perhaps you should add the directory containing `libcurl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libcurl' found
Using PKG_CFLAGS=
Using PKG_LIBS=-lcurl
------------------------- ANTICONF ERROR ---------------------------
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=...'
--------------------------------------------------------------------
ERROR: configuration failed for package ‘curl’
* removing ‘/home/lualeperez/R/x86_64-pc-linux-gnu-library/3.5/curl’
* installing *source* package ‘openssl’ ...
** package ‘openssl’ successfully unpacked and MD5 sums checked
Using PKG_CFLAGS=
------------------------- ANTICONF ERROR ---------------------------
Configuration failed because openssl was not found. Try installing:
 * deb: libssl-dev (Debian, Ubuntu, etc)
 * rpm: openssl-devel (Fedora, CentOS, RHEL)
 * csw: libssl_dev (Solaris)
 * brew: openssl@1.1 (Mac OSX)
If openssl is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a openssl.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=...'
--------------------------------------------------------------------
ERROR: configuration failed for package ‘openssl’
* removing ‘/home/lualeperez/R/x86_64-pc-linux-gnu-library/3.5/openssl’
ERROR: dependencies ‘curl’, ‘openssl’ are not available for package ‘httr’
* removing ‘/home/lualeperez/R/x86_64-pc-linux-gnu-library/3.5/httr’
ERROR: dependency ‘httr’ is not available for package ‘plotly’
* removing ‘/home/lualeperez/R/x86_64-pc-linux-gnu-library/3.5/plotly’

The downloaded source packages are in
    ‘/tmp/RtmpNTZBPJ/downloaded_packages’
Warning messages:
1: In install.packages("plotly") :
  installation of package ‘curl’ had non-zero exit status
2: In install.packages("plotly") :
  installation of package ‘openssl’ had non-zero exit status
3: In install.packages("plotly") :
  installation of package ‘httr’ had non-zero exit status
4: In install.packages("plotly") :
  installation of package ‘plotly’ had non-zero exit status

我尝试通过安装 libcurl4 来解决问题

sudo apt-get install libcurl4

但系统随后会删除所有 r-base 依赖项。

我还没有尝试用 httr 包解决问题。

有人对如何解决这个问题有任何提示吗?

【问题讨论】:

  • 您需要的是 developmentlibcurl4-openssl-dev(如消息所示)而不是您正在安装的 runtimelibcurl4。但正如我在下面的回答所暗示的那样,您也可以安装一个二进制包并完成。
  • 我尝试安装 libcurl4-openssl-dev,但系统告诉我先安装 libcurl4,当我尝试安装最后一个时,系统告诉我它将卸载 r-base。当你说我应该安装一个二进制包时,我真的不明白。

标签: r linux ubuntu-18.04


【解决方案1】:

刚刚遇到同样的问题,这是我找到的解决方案:

由于刚刚安装 libcurl4-openssl-dev 会删除所有 r-base 包,所以我所做的是

sudo apt-get install libcurl4-openssl-dev r-base

之后

R -q -e "install.packages(c('curl'))"

它成功了。

唯一需要注意的是,它会升级您的 R 版本,但如果您已经在使用最新版本,那么这不是问题。

【讨论】:

  • 完美。使用它并能够安装“汽车”包,这是我的目标。
【解决方案2】:

您正在尝试从源代码编译。这有时具有所谓的构建依赖关系。您错过了它们,并且您忽略了(有些清晰的)错误消息,因为您正被多个安装所淹没。

所以第一个提示,所以一次一个包。

第二个提示:意识到其中许多(如果不是全部)在 Ubuntu 中都可用。所以就做吧

sudo apt install r-cran-curl

安装例如 curl。其他人也一样。

第三个提示:Michael 的 PPA 上有超过 3000 个适用于 Ubuntu 的 CRAN 包。阅读顶部 this README 然后转到 this PPA (前提是你想要 3.5 就可以了)。

【讨论】:

  • 非常感谢您的回答。如果问题是微不足道的,我很抱歉,但这有点新。我尝试安装 r-cran-curl,但系统告诉我首先安装 libcurl4。如果我尝试安装最后一个,系统会告诉我它将卸载 r-base。
  • 我按照cloud.r-project.org/bin/linux/ubuntu/README.htmllaunchpad.net/~marutter/+archive/ubuntu/c2d4u3.5 中的说明进行操作,然后进行了sudo apt-get update。然后我尝试安装 r-cran-curl 但得到了相同的消息。
猜你喜欢
  • 1970-01-01
  • 2012-10-19
  • 2020-08-28
  • 2015-04-18
  • 1970-01-01
  • 2015-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多