Установка пакетов R, доступных для всех пользователей

18

У меня есть несколько пакетов R, установленных под ~/R/i486-pc-linux-gnu-library/2.11 .

Я хотел бы сделать их и любой другой пакет R, который я устанавливаю с этого момента, доступный всем пользователям R. Я не против переустанавливать пакеты, которые у меня уже есть в нейтральном месте (их всего несколько). Итак, как мне это сделать?

    
задан David B 15.08.2010 в 14:20
источник

3 ответа

24

aL3xa дает (IMHO) плохие советы. Не связывайтесь с /usr , которое обрабатывается системой управления пакетами. Вместо этого используйте средство, предоставленное /usr/local/lib/R/site-library .

Этот последний каталог уже выполняется по умолчанию. Все, что вам нужно сделать, это добавить себя в группу staff , так как у этой группы есть права на запись - попробуйте adduser yourid staff , где yourid - ваше имя пользователя в системе. Впоследствии вы сможете установить там без проблем.

Еще одна вещь, которая может вам понравиться в Ubuntu, это apt-get install littler , а затем использовать скрипты install.r и upgrade.r helper из каталога примеров. Я использую их все время.

    
ответ дан Dirk Eddelbuettel 15.08.2010 в 16:07
источник
  • Утонченный, безусловно, лучшее решение, хотя вы рекламировали свои продукты ... =) Является ли / usre / local ... опечаткой? –  aL3xa 15.08.2010 в 16:40
  • Ну, мой рекламный бюджет небольшой :) Типо фиксированный - спасибо. –  Dirk Eddelbuettel 15.08.2010 в 17:07
  • Еще один вопрос: группа персонала - это еще один из ваших продуктов (поскольку вы поддерживаете пакеты Debian / Ubuntu)? Он доступен только на тех пакетах? Если это так, я возвращаюсь к Ubuntu ... может быть! знак равно –  aL3xa 15.08.2010 в 18:37
  • , так как мне установить разрешения, предложенные aL3xa (я уже запускал цикл) –  David B 15.08.2010 в 18:39
  • Этот ответ был очень полезен, но не хватает нескольких деталей. После того, как вы добавили себя в группу персонала, вам нужно выйти из системы и вернуться в нее, чтобы она имела эффект (отсюда ошибка Дэвида Б). Но как сказать R установить в / usr / local / ...? Я нашел один метод: install.packages ('foo', '/ usr / local / lib / R / site-library'). –  Serrano 12.03.2015 в 13:00
Показать остальные комментарии
3

Ответ aL3xa неверен; вы не должны раскрывать эти каталоги для записи для всех пользователей.
Запустите R в качестве корня (возможно, используя sudo R ), а затем установите пакеты как обычно - они будут размещены в глобальной библиотеке и будут доступны для всех пользователей.     

ответ дан mbq 15.08.2010 в 17:51
источник
  • Или добавьте себя в группу сотрудников, как я писал, и вам не нужно sudo для запуска от имени root. –  Dirk Eddelbuettel 15.08.2010 в 17:59
  • вопрос об обслуживании: что произойдет, если вы обновите пакеты одновременно с загрузкой пакета другим пользователем? –  RockScience 30.10.2015 в 12:09
2

В вашем случае самым простым способом было бы установить пакеты как root (или как администратор в случае Windows), они будут доступны для каждого пользователя на этом компьютере.     

ответ дан Farshid Miri 27.02.2015 в 11:10
источник