Перезагрузить пользовательский пакет R из источника

Я создал пользовательский пакет и хотел бы развернуть его на удаленной машине. Вот мой текущий длинный рабочий процесс:

  • Создайте собственный пакет my_package_0.1.0.tar.gz
  • пакет scp на удаленную машину
  • создать удаленный сеанс
  • install.packages("/path/to/my_package0.1.0.tar.gz")
  • library('my_package')

Когда другие подключаются к компьютеру, они должны запустить install и library:

  • install.packages("/path/to/my_package0.1.0.tar.gz")
  • library('my_package')

Есть ли способ, которым я могу поделиться пользовательским пакетом и иметь рабочий процесс быть:

  • Создать удаленный сеанс
  • Загрузить пакет с library('my_package')

1 ответ

Решение

В комментариях к комментариям говорится, что рекомендуется устанавливать пакет в общем месте.

Вот как вы можете найти хорошее место для установки пакетов.

Запуск следующего показывает, откуда загружаются библиотеки

.libPaths()
# rserve2 rserve2 /opt/deployr/9.0.1/rserve/R
#root root        /usr/lib64/microsoft-r/3.3/lib64/R/library

Сервер R ищет библиотеки в двух местах. Один из них принадлежит пользователю root, поэтому мы не должны его здесь развертывать. Другое местоположение rserve2 имеет право собственности и выглядит многообещающе. Мы должны создать library подпапка для хранения общих пакетов.

Основываясь на этой информации, рабочий процесс должен быть:

  • Создайте собственный пакет my_package_0.1.0.tar.gz
  • пакет scp на удаленную машину
  • создать удаленный сеанс
  • install.packages ("/ path / to / my_package0.1.0.tar.gz", lib = '/ opt / deployr / 9.0.1 / rserve / R / library /')
  • библиотека ('my_package')

Когда другие подключаются к машине, они могут загрузить общую библиотеку:

  • библиотека ('my_package')
Другие вопросы по тегам