Библиотека недоступна для записи
У меня есть эта проблема во время установки пакета в R версии 3.0.2 (2013-09-25) на машине Ubuntu:
install.packages("randomForest")
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
Warning in install.packages :
'lib = "/usr/local/lib/R/site-library"' is not writable
Как его решить?
Ответы
Ответ 1
Для версии R 3.2.2 (2015-08-14) эту проблему следует решать, поскольку R предлагает в процессе установки другой путь для хранения библиотек R. Установка выглядит следующим образом: (здесь "random" используется в качестве примера пакета)
install.packages('random')
Installing package into ‘/usr/local/lib/R/site-library
(as ‘lib is unspecified)
Warning in install.packages("random") :
'lib = "/usr/local/lib/R/site-library"' is not writable
Would you like to use a personal library instead? (y/n) y
Would you like to create a personal library
~/R/pc-linux-gnu-library/3.2
to install packages into? (y/n) y
Поэтому во время установки, отвечая на оба вопроса с помощью "y", следует правильно установить пакет.
Обновление 18/01/19
Если вы не хотите хранить ваши пакеты R в дополнительном файле:
Как отмечают Антуан-Сак и Роберт ТеСим, вы можете добавить себя в группу сотрудников, чтобы иметь возможность писать в "сайт-библиотеку". (Нажмите на имена, чтобы увидеть их важные дополнения)
До этого обновления я упоминал в этом комментарии возможность изменения разрешения папки "site-library" с помощью "chmod o + w", чтобы иметь возможность записи в нее. Предполагая проблемы с безопасностью, но не мог сказать в то время, я предупреждал об этом, но прежде всего ждал, когда кто-то прояснит это. Антуан-Сак и Роберт TheSim сделали это в то же время. Спасибо!
Ответ 2
добавьте себя в группу под названием "staff"
sudo usermod -a -G staff your_user_name
замените your_user_name своим именем входа в систему, затем выйдите из системы и переустановите.
НЕ используйте chmod 777, который является нарушением безопасности и кстати. полный не-смысл!!!
Ответ 3
Это означает именно то, что он говорит. У вас нет разрешения на запись в этой папке. Либо вам нужно изменить разрешения для этой папки, или изменить расположение библиотеки R.
Ответ 4
Если вы работаете в Windows, вы можете запустить R (или RStudio) от имени администратора.
Закройте R, затем перейдите к значку R или RStudio, щелкните правой кнопкой мыши и "открыть как администратор". Работает отлично, все сообщения об ошибках при установке пакетов пропали навсегда.
Ответ 5
Для тех, кто использовал install.packages()
с несколькими пакетами
install.packages("vcd","vcdExtra","plyr")
и получил то же предупреждение:
Warning in install.packages :
'lib = "vcdExtra"' is not writable
Would you like to use a personal library instead? (yes/No/cancel) cancel
Error in install.packages : unable to install packages
Установка каждого отдельно работала у меня
install.packages("vcd")
install.packages("vcdExtra")
или поместите имена пакетов в вектор:
install.packages(c("vcd","vcdExtra","plyr"))
Ответ 6
Проблема в том, что место установки по умолчанию - это место, где у вас нет прав на запись.
Решение состоит в том, чтобы использовать место установки, где у вас есть права на запись.
В частности, я бы предложил использовать следующие команды для создания папки личной библиотеки в месте, которое не требует специальных разрешений и которое будет автоматически обнаружено при следующем запуске R:
dir.create(Sys.getenv("R_LIBS_USER"), recursive = TRUE) # create personal library
.libPaths(Sys.getenv("R_LIBS_USER")) # add to the path
install.packages("randomForest") # install like always
library(randomForest) # use library like always
Вызов dir.create
следует предложению в этом FAQ, чтобы создать папку с именем в соответствии с Sys.getenv("R_LIBS_USER")
. Это хороший выбор, поскольку он будет найден при следующем запуске R, так что вы сможете использовать install.packages
и library
без указания особых мест. .libPaths
функции .libPaths
позволяет избежать перезапуска R, немедленно добавив новую папку в путь к библиотеке. Первые две строки нужны только в том случае, если у вас еще нет созданной личной библиотеки, но при ее повторном запуске нет вреда. После этого установка пакетов и использование библиотек может быть выполнено как обычно.
Ответ 7
Если вы используете R с RStudio, вместо запуска RStudio с иконкой в трее, запустите Rstudio или R с помощью командной строки, используя sudo rstudio
или sudo R
.
Это решит вашу проблему наверняка, она работает для меня. Для этого требуется sudo
привилегия написать что-то в каталоге установки.
Ответ 8
Если вы используете ОС Windows 10, то, возможно, защита от вымогателей включена. Вы должны отключить это.
Я столкнулся с той же проблемой. У меня был доступ, чтобы написать. но вдруг это прекратилось. Я не мог установить пакеты. Отключение защиты от вымогателей сработало у меня.
Ответ 9
Вы можете изменить разрешение на "site-library" и все включенные каталоги.
sudo chmod 777 -R/usr/local/lib/R/site-library