Загрузка зависимостей из внутренней библиотеки пакетов

Я строю пакет 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)
Другие вопросы по тегам