Я использую Ubuntu 18.04 с R (3.4.4)/RStudio (1.2.1335) и испытываю большие затруднения в установке некоторых пакетов. В целях этого вопроса я буду использовать Tidyverse в качестве примера.
Используя RStudio, я работаю:
install.packages("tidyverse", dependencies = TRUE)
И после того, что похоже на хорошее начало ("пробующий X-пакет, загружая X-пакет..."), установка затем становится заполоненной с сообщениями об ошибках в изобилии. (Обратите внимание, что это происходит независимо от того, установил ли я dependencies
кому: TRUE
или FALSE
.)
Я считал совет сообщений об ошибках и следовал инструкциям, и ничто не изменяется. Я провел буквально часы, исследуя пути онлайн для понимания этого и пробуя различные методы (такие как определение папок/каталогов для хранения пакетов к, переустанавливая некоторое программное обеспечение, удаляя другое программное обеспечение и несколько других вещей), и тем не менее ничто не изменяется.
Я полностью удалил и переустановил R/RStudio, и тем не менее то же самое происходит.
Например, когда я выполняю вышеупомянутый код, это - то, где вещи начинают идти не так, как надо:
* installing *source* package ‘curl’ ...
** package ‘curl’ successfully unpacked and MD5 sums checked
Found pkg-config cflags and libs!
/home/mus/.R/Makevars:1: *** missing separator. Stop.
/home/mus/.R/Makevars:1: *** missing separator. Stop.
/home/mus/.R/Makevars:1: *** missing separator. Stop.
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/mus/R/x86_64-pc-linux-gnu-library/3.4/curl’
Warning in install.packages :
installation of package ‘curl’ had non-zero exit status
* installing *source* package ‘haven’ ...
** package ‘haven’ successfully unpacked and MD5 sums checked
** libs
/home/mus/.R/Makevars:1: *** missing separator. Stop.
ERROR: compilation failed for package ‘haven’
* removing ‘/home/mus/R/x86_64-pc-linux-gnu-library/3.4/haven’
Длина этого сообщения значительно больше - я имею просто усеченный это в целях этого вопроса.
Мой вопрос - это: что я мог пропускать здесь? Я не думаю, что должно быть настолько трудно решить, все же это оказывается одной из единственных самых сложных проблем, на которые я когда-либо наталкивался, и я не могу думать, каково это могло возможно быть.
Есть ли какие-либо подсказки, и обманывает это те из Вас, у кого были подобные события, может совместно использовать?
Как я могу избежать этих сообщений об ошибках? (Обратите внимание, что это также происходит, когда я пытаюсь выполнить ту же команду от Терминала.)
Кроме того, если это помогает:
> .libPaths()
[1] "/home/mus/R/x86_64-pc-linux-gnu-library/3.4" "/usr/local/lib/R/site-library"
[3] "/usr/lib/R/site-library" "/usr/lib/R/library"
Как это верно для общих пакетов, так и для пакетов R. Используйте систему загрузки и установки пакетов приложений Ubuntu для получения пакетов R.
Чтобы узнать, доступен ли конкретный пакет R в репозиториях R-CRAN, откройте терминал, нажав Ctrl kbd> + Alt kbd> + T kbd > и введите:
apt-cache search tidyverse
Вы увидите список пакетов, связанных с tidyverse
:
r-cran-sjmisc - GNU R package "Data and Variable Transformation Functions"
r-cran-tidyverse - GNU R package "Easily Install and Load the 'Tidyverse'"
r-cran-tidyquant - GNU R package "Tidy Quantitative Financial Analysis"
r-cran-rlang - GNU R package "Functions for Base Types and Core R and
r-cran-tidyselect - GNU R package "Select from a Set of Strings"
r-cran-sugrrants - GNU R package "Supporting Graphs for Analysing Time
r-cran-tidyimpute - GNU R package "Imputation the Tidyverse Way"
r-cran-pivot - GNU R package "'SQL' PIVOT and UNPIVOT"
r-cran-tidycensus - GNU R package "Load US Census Boundary and Attribute Data
r-cran-janitor - GNU R package "Simple Tools for Examining and Cleaning
r-cran-areal - GNU R package "Areal Weighted Interpolation"
r-cran-moderndive - GNU R package "Tidyverse-Friendly Introductory Linear
Пакет, который вы ищете, является вторым в списке. Все пакеты R имеют префикс r-cran-
.
Чтобы установить пакет R, введите:
sudo apt install r-cran-tidyverse
Вам будет предложено ввести пароль. Когда вы вводите пароль, курсор не будет двигаться и вы не увидите *******. Это нормально в Ubuntu.
Установка пакетов R таким способом имеет два преимущества:
Подробнее см. Установка R и RStudio и ошибка пакета .
Вы видите ошибку, потому что curl
не установлен в вашей Ubuntu. Ubuntu использует wget
, в то время как другие дистрибутивы используют curl
для загрузки системных пакетов. Когда вы пытаетесь установить пакет изнутри R (или RStudio), он пытается установить системный пакет Ubuntu curl
. Это не работает, так как RStudio не имеет привилегий sudo
.
Чтобы решить эту проблему, установите curl
на уровне системы Ubuntu:
sudo apt install curl
Это установит curl
в Ubuntu и позволит R использовать curl
.
Надеюсь, это поможет