首页 > 解决方案 > 如何将 RCurl 和 curl 更新到主机上的版本?

问题描述

最初我试图使用devtools::install_github("EdwinTh/padr")出现以下错误的地方:

Error in curl::new_handle() : An unknown option was passed in to libcurl

一段时间后,我发现devtools使用它在主机上curl/RCurl包装了当前版本。curl

主机(Ubuntu 14.04.5 LTS)机器版本curl为:

1$ curl -V curl 7.61.0 (x86_64-pc-linux-gnu) libcurl/7.61.0 OpenSSL/1.0.1f zlib/1.2.8 libssh2/1.8.0 librtmp/2.3

curl位于:

12$ which curl /usr/local/bin/curl

curl::new_handle()直接从终端使用时工作正常

相比之下,curl/RCurl版本是:

> RCurl::curlVersion()
$age
[1] 3

$version
[1] "7.35.0"`

我假设这可能是根本问题。我现在的问题是如何让Rscurl/RCurl指向对应的版本。

我已经尝试了迄今为止在该主题上找到的所有内容,R例如:

install.packages("RCurl", type="source")install.packages("curl", type="source")

以及curl在主机上进行调整:

wget https://libssh2.org/download/libssh2-1.8.0.tar.gz
tar zxvf llibssh2-1.8.0.tar.gz
cd libssh2-1.8.0
./configure
make
sudo make install 

wget http://curl.haxx.se/download/curl-7.61.0.tar.gz
tar zxvf curl-7.61.0.tar.bz2
cd curl-7.61.0
./configure --with-libssh2=/usr/local
make
sudo make install

但我总是为curl/RCurl7.35.0 而不是 7.61.0 获得相同的版本。

感谢任何见解!

标签: rcurlrcurl

解决方案


我正在运行 Ubuntu 18.04,当我尝试安装 Tidyerse R 包但失败时遇到了同样的问题。作为依赖项,它尝试安装 curl 4.3,尽管我已经安装了 curl 7.58.0-2ubuntu3.12。因此,只要 R 没有意识到已经安装了现有的 curl 版本,更新操作系统就无济于事。

为我解决了: sudo apt install libcurl4-openssl-dev 和 sudo apt install libssl-dev


推荐阅读