Ответ 1
Короткий ответ: Не совсем для использования на открытом воздухе.
Длинный ответ: Есть несколько инструментов, которые можно использовать для управления своим репо, но пока еще нет согласованной готовой экосистемы.
Хранители CRAN хранят множество сценариев здесь для управления репозиторией CRAN, но неясно, как они все работают вместе или какие части необходимы обновить индекс пакета, запустить проверку пакетов или управлять структурой каталогов.
Функция tools::write_PACKAGES
может использоваться для обновления индекса пакета, но это необходимо обновлять каждый раз, когда пакет добавляется, обновляется или удаляется из репозитория.
M.eik Michalke создал roxyPackage
package, который имеет возможность автоматически обновлять данный репозиторий, устанавливать его, и т.д. Разработчик также недавно добавил, что структура архива имитирует структуру CRAN с помощью функции archive_structure
. Недостатком является то, что пакет не включен в CRAN и, вероятно, будет лучше интегрирован с devtools
. Он также совершенно новый и еще не готов к широкому использованию.
Наконец, я создал небольшой Ruby script, который следит за данным репозиторием и обновляет индекс пакета, если какие-либо файлы меняются. Однако это делается для работы в моей конкретной организации и необходимо будет реорганизовать для внешнего использования. Я могу сделать его более общим, если кто-то заинтересован в нем.