Как я могу исправить многочисленные сообщения об ошибках, которые появляются при установке пакетов?

Я использую 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" 
1
задан 26 April 2019 в 17:53

1 ответ

Используйте предварительно скомпилированные пакеты, когда они доступны.

Как это верно для общих пакетов, так и для пакетов R. Используйте систему загрузки и установки пакетов приложений Ubuntu для получения пакетов R.

Чтобы узнать, доступен ли конкретный пакет R в репозиториях R-CRAN, откройте терминал, нажав Ctrl + Alt + T и введите:

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 таким способом имеет два преимущества:

  1. Это будет поддерживать fGarch в актуальном состоянии. Всякий раз, когда fGarch обновляется в репозитории R-Cran, он будет обновляться на вашем компьютере вместе с процессом обновления системы.
  2. Все пользователи этого компьютера смогут использовать пакет fGarch в R и RStudio.

Подробнее см. Установка R и RStudio и ошибка пакета .

Ошибка:

Вы видите ошибку, потому что curl не установлен в вашей Ubuntu. Ubuntu использует wget, в то время как другие дистрибутивы используют curl для загрузки системных пакетов. Когда вы пытаетесь установить пакет изнутри R (или RStudio), он пытается установить системный пакет Ubuntu curl. Это не работает, так как RStudio не имеет привилегий sudo.

Чтобы решить эту проблему, установите curl на уровне системы Ubuntu:

sudo apt install curl

Это установит curl в Ubuntu и позволит R использовать curl.

Надеюсь, это поможет

0
ответ дан 26 April 2019 в 17:53

Другие вопросы по тегам:

Похожие вопросы: