Подтвердить что ты не робот

Библиотека недоступна для записи

У меня есть эта проблема во время установки пакета в 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

Как его решить?

4b9b3361

Ответ 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, который является нарушением безопасности и кстати. полный не-смысл!!!

Ответ 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