Установите R Package XML в Debian/Ubuntu

Я только начинаю с Ubuntu и хочу запрограммировать в R. Я успешно установил последнюю версию R (в настоящее время 2.12.2) из ​​терминала. Затем я попытался выполнить следующую команду:

> install.packages("XML")
Installing package(s) into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
Warning in install.packages("XML") :
  'lib = "/usr/local/lib/R/site-library"' is not writable
Would you like to create a personal library
'~/R/i686-pc-linux-gnu-library/2.12'
to install packages into?  (y/n) 

Должен ли я создать личный каталог или я пропустил какой-то шаг где-нибудь, что позволяет мне писать в библиотеку сайта.

Спасибо заранее.

Ответы

Ответ 1

Комментарий sarnold вполне корректен. В пакете Debian (и, следовательно, Ubuntu) каталог /usr/local/lib/R/site-library/ создается файлом /var/lib/dpkg/info/r-base-core.postinst script - и соответствующий код:

# edd 03 Apr 2003  cf Section 10.1.2 of Debian Policy
if [ ! -e /usr/local/lib/R ]; then
  if mkdir /usr/local/lib/R 2>/dev/null; then
    chown root:staff /usr/local/lib/R
    chmod 2775 /usr/local/lib/R
  fi
fi
if [ ! -e /usr/local/lib/R/site-library ]; then
  if mkdir /usr/local/lib/R/site-library 2>/dev/null; then
    chown root:staff /usr/local/lib/R/site-library
    chmod 2775 /usr/local/lib/R/site-library
  fi
fi

поэтому каталог принадлежит root:staff и режиму 2775, или "пользователю и группе читать-писать, а другие доступны только для чтения".

Итак, чтобы написать там, у вас есть два основных варианта:

  • Всегда используйте sudo или становитесь root неудобным.

  • Добавьте себя в группу staff. Возможно, для этого есть удобный графический интерфейс; Я - старая школа Unix, и сделаю это вручную, отредактировав /etc/group и /etc/gshadow - после этого вы можете установить прямо (ну вам нужна новая оболочка, чтобы иметь эти права или просто начать новый терминал). Вы также можете выбрать другую группу или создать ее, но тогда вам также необходимо изменить дерево каталогов в /usr/local/lib/R/.

Надеюсь, это поможет. Список r-sig-debian - это дружественное место для вопросов Debian/Ubuntu, подобных этому, и я рекомендую его. Перед этим встал вопрос.

Изменить: Кроме того, довольно много пакетов (более сложных) являются частью Ubuntu/Debian, поэтому для получения XML вы можете просто sudo apt-get install r-cran-xml. Сделайте apt-cache search r-cran, чтобы узнать, что доступно.

Ответ 2

Самый простой вариант - добавить себя в группу пользователей staff. Просто запустите:

sudo adduser <user> staff

Замените <user> своим именем пользователя.

Протестировано в Ubuntu 14.04