Библиотека R не содержит пакетов

Моя установка R кажется неправильной. Я пытался использовать несколько пакетов, используя library()и было сказано, что они не могут быть найдены. Затем я попытался просто запустить library() без аргументов, и он сказал Warning message: In library() : library ‘/usr/local/lib/R/site-library’ contains no packages, Выход из .libpaths является

[1] "/home/username/R/x86_64-pc-linux-gnu-library/3.2"
[2] "/usr/local/lib/R/site-library"                       
[3] "/usr/lib/R/site-library"                             
[4] "/usr/lib/R/library"

Выход из sessionInfo() является

R version 3.2.3 (2015-12-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Linux Mint 18.3

locale:
 [1] LC_CTYPE=en_AU.UTF-8      
 [2] LC_NUMERIC=C              
 [3] LC_TIME=en_AU.UTF-8       
 [4] LC_COLLATE=en_AU.UTF-8    
 [5] LC_MONETARY=en_AU.UTF-8   
 [6] LC_MESSAGES=en_AU.UTF-8   
 [7] LC_PAPER=en_AU.UTF-8      
 [8] LC_NAME=C                 
 [9] LC_ADDRESS=C              
[10] LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_AU.UTF-8
[12] LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets 
[6] methods   base     

loaded via a namespace (and not attached):
[1] tools_3.2.3

Я не смог найти какую-либо информацию об этой ошибке в Интернете. У всех остальных, похоже, есть проблема с тем, что они не могут найти конкретные пакеты. Я не видел, чтобы кто-нибудь жаловался на отсутствие пакетов.

Это сообщения об ошибках, которые я получил при попытке установить "tidyverse" из RStudio с помощью install.packages("tidyverse"):

Installing package into ‘/home/username/R/x86_64-pc-linux-gnu-library/3.4’
(as ‘lib’ is unspecified)
also installing the dependencies

...

* installing *source* package ‘colorspace’ ...
** package ‘colorspace’ successfully unpacked and MD5 sums checked
** libs
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c colorspace.c -o colorspace.o
colorspace.c:2:19: fatal error: ctype.h: No such file or directory
compilation terminated.
/usr/lib/R/etc/Makeconf:159: recipe for target 'colorspace.o' failed
make: *** [colorspace.o] Error 1
ERROR: compilation failed for package ‘colorspace’
* removing ‘/home/dylanus-zwei/R/x86_64-pc-linux-gnu-library/3.4/colorspace’
Warning in install.packages :
  installation of package ‘colorspace’ had non-zero exit status

Это повторяется некоторое время, а затем:

Found pkg-config cflags and libs!
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=...'
--------------------------------------------------------------------

Такая же ошибка возникает для openssl. Я установил libcurl этим утром, так что я не уверен, что он ожидает здесь.

checking for gcc... gcc -std=gnu99
checking whether the C compiler works... no

Компилятор C определенно работает. Я использовал это много раз. Все остальные сообщения кажутся такими же.

1 ответ

Это может быть похожая проблема из-за разрешений: библиотека недоступна для записи

Что за сообщение об ошибке при попытке установить пакеты? А как выглядит каталог site-packages, когда вы переходите к нему с помощью оболочки? Там что-нибудь есть? Какие разрешения?

Подводя итог, мы теперь узнали, что текущие разрешения для каталога, который должен содержать пакеты:drwxr_xr_x, если вы скопировали строку для правильного каталога (/usr/local/lib/R/site-library). Я уточняю, потому что похоже, что вы, возможно, скопировали и вставили разрешения для первого пакета в вашем каталоге сайтов, abind, Если вы это сделали, то это означает, что в каталоге сайтов есть пакеты, и у нас другая проблема (возможно, также проблема с разрешениями, но чтение, а не запись).

Так что если выход ls -ld /usr/local/lib/R/site_library начинается с drwxr-sr-x 6 root staff ответ от manuel_va от того вопроса, который должен решить проблемы. В общем, не мешало бы добавить себя в штат, но это само по себе не решит вашу проблему. Вот модифицированный ответ для вас

Делать:

$ cd /usr/local/lib/R
$ sudo chmod go+w site-library
$ ls -l

Напечатанная строка должна выглядеть так:

drwxrwsrwx 2 root staff 0000 Mar 31 00:00 site-library
Другие вопросы по тегам