#r #libcurl #tidyverse
#r #libcurl #tidyverse
Вопрос:
Недавно я обновился до R 3.5 и не смог установить пакет ‘tidyverse’. Другие пакеты устанавливаются нормально. Всякий раз, когда я пытаюсь установить tidyverse, я получаю следующее сообщение об ошибке.
* installing *source* package ‘curl’ ...
** package ‘curl’ successfully unpacked and MD5 sums checked
Found pkg-config cflags and libs!
Using PKG_CFLAGS=-I/usr/include/x86_64-linux-gnu
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/nik/anaconda3/lib/R/library/curl’
ERROR: dependency ‘curl’ is not available for package ‘httr’
* removing ‘/home/nik/anaconda3/lib/R/library/httr’
ERROR: dependency ‘httr’ is not available for package ‘rvest’
* removing ‘/home/nik/anaconda3/lib/R/library/rvest’
ERROR: dependencies ‘httr’, ‘rvest’ are not available for package ‘tidyverse’
* removing ‘/home/nik/anaconda3/lib/R/library/tidyverse’
The downloaded source packages are in
‘/tmp/RtmpHJ48Sk/downloaded_packages’
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
Warning messages:
1: In install.packages("tidyverse") :
installation of package ‘curl’ had non-zero exit status
2: In install.packages("tidyverse") :
installation of package ‘httr’ had non-zero exit status
3: In install.packages("tidyverse") :
installation of package ‘rvest’ had non-zero exit status
4: In install.packages("tidyverse") :
installation of package ‘tidyverse’ had non-zero exit status
Я запустил sudo apt-get install libcurl4-openssl-dev
, как было предложено в других потоках для решения той же проблемы. Однако, похоже, это не решает проблему (фактически, libcurl уже был установлен, и его переустановка также не сработала).
Когда я проверяю $ PATH, я не вижу ‘pkg-config’, и PKG_CONFIG_PATH, похоже, не существует. Добавление /usr/bin/pkg-config
к пути и настройка PKG_CONFIG_PATH /home/nik/anaconda3/lib/pkgconfig/libcurl.pc
также, похоже, не устранили проблему. На данный момент я в тупике, поскольку не могу придумать ничего другого для удаления / переустановки, а также выяснить, почему libcurl не добавляется в path самостоятельно, когда я его устанавливаю. Буду признателен за любую помощь.
Комментарии:
1. Я не сталкивался с этой проблемой, но я сталкивался с подобными с другими зависимостями. Основываясь на сообщении об ошибке, вы можете попробовать указать свой путь к каталогу, который содержит libcurl, а не к самому libcurl, т.Е.
PKG_CONFIG_PATH=/home/nik/anaconda3/lib/pkgconfig
2. После двух дней попыток делать все более глупые вещи, это немедленно исправило проблему. Спасибо!
3. Нет проблем. Поскольку это сработало, я пошел дальше и добавил это в качестве ответа.
Ответ №1:
попробуйте указать свой путь к каталогу, который содержит libcurl, а не к самому libcurl, т.Е.
PKG_CONFIG_PATH=/home/nik/anaconda3/lib/pkgconfig
Комментарии:
1. не могли бы вы подробнее остановиться на этом ответе, пожалуйста. У меня аналогичная проблема
2.@ChristopherKavazos переменная среды должна указывать на каталог, а не на сам файл. OP изначально установил переменную env в файл
/home/nik/anaconda3/lib/pkgconfig/libcurl.pc
. Однако для переменной env следует установить каталог, который содержит файлlibcurl.pc
, он не должен быть установлен на сам фактический файл. В этом примере каталог является/home/nik/anaconda3/lib/pkgconfig
, так что это должно быть значение, сохраненное в переменной средыPKG_CONFIG_PATH
.