Загрузка зависимостей из внутренней библиотеки пакетов
Я строю пакет R с пакратом. Пакет полностью протестирован и установка из локально сохраненного исходного файла
install.packages("myPackage.tar.gz", repos = NULL, type = "source")
работает, если все зависимости (указанные в поле Imports:) установлены на локальном компьютере. Тем не менее, я хотел бы установить этот пакет на другом сервере, где не установлены зависимости. Когда я пытаюсь сделать это, я получаю ошибку
"ERROR: dependencies ‘survey’, ‘dplyr’ are not available for package 'myPackage'"
Я также попытался установить пакет packrat, который я создал, вызвав
packrat::bundle(project = 'pathtomypackageproject', file = 'myPackage.tar.gz',
include.lib = TRUE)
но я получаю ту же ошибку.
Я думаю, что проблема в том, что после установки myPackage R ищет первый элемент.libPaths(), ничего не находит и, так как задано "repos = NULL", некуда устанавливать пакеты, поэтому ошибка выброшены.
Решение, которое я все еще пытаюсь избежать, - это перенести хранилище, содержащее все зависимости, на сервер и указать на хранилище при установке пакета. В идеале мне нужно только перенести myPackage.tar.gz.
У меня вопрос, есть ли какой-нибудь способ указать на внутреннюю библиотеку packrat, где можно найти все зависимости, и импортировать пространства имен оттуда.
1 ответ
Если вы включили список пакетов для импорта в файл DESCRIPTION, то вам просто нужно сделать это во время установки вашего пакета:
install.packages("myPackage",dependencies=TRUE)