У меня Ubuntu 18.04. Я недавно обновил свою версию R с 3.2.3
до 3.6.3
. После переустановки пакетов, которые мне нужны, я наткнулся на проблему, вызванную httr и curl . Другие посты, особенно this (но также this и this ) были написаны о похожих (если не почти идентичных проблемах), но их следование ни к чему не привело, и мои проблема все еще существует.
Я заранее сожалею о длинном посте, но я думаю, что другие люди в конечном итоге столкнутся с этой проблемой, поэтому я хочу быть как можно более полной. Вот что происходит.
Я пытаюсь установить пакет с httr
среди зависимостей. Поскольку мне нужно переустановить его, я попытался сделать это с install.packages("httr")
и с локального пути (см. Пример).
> install.packages("/home/schmat/Documents/Marti/packages/httr_1.4.1.tar.gz", repos = NULL, type="source")
Installing package into ‘/home/schmat/R/x86_64-pc-linux-gnu-library/3.6’
(as ‘lib’ is unspecified)
ERROR: dependency ‘curl’ is not available for package ‘httr’
Это показало, что curl
недоступен, поэтому я попытался установить curl
таким же образом. Только чтобы получить это:
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=...'
--------------------------------------------------------------------
Поскольку это показало, что мне нужно установить libcurl4-openssl-dev
, я попытался сделать это через apt install
, и я получил:
The following packages have unmet dependencies:
libcurl4-openssl-dev : Depends: libcurl4 (= 7.58.0-2ubuntu3.8) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Так что я попытался добавить файл libcurl.pc
, который у меня есть, к $PKG_CONFIG_PATH
:
export PKG_CONFIG_PATH=/home/schmat/anaconda3/lib/pkgconfig/libcurl.pc
безрезультатно.
Я попробовал git clone
подход, предложенный в этой теме , но безуспешно.
В этот момент я попытался установить libcurl4
из apt install
. Однако при этом мой R удаляет удаленный из системы. Я переустановил R (та же версия, 3.6.3), и это удаляет libcurl4
.
Я застрял в этом l oop, где я не могу получить то, что мне нужно, потому что чего-то еще не хватает, по кругу. Как это возможно? Почему пакет R (последняя версия, 26 марта 2020 года!), Для которого в конечном итоге требуется какая-либо функция curl
, не может быть установлен, поскольку curl
не может сосуществовать с R/3.6.3
?