Установите некоторые части из Github при вызове "install.packages()" в R

Я хотел бы поставить пакет на CRAN. Однако в настоящее время пакет использует внешнюю модель C (стандартную модель ISDA), которая создается на основе общедоступной распространяемой лицензии. Однако администратор CRAN отказывается помещать пакет в CRAN, если он содержит эту модель C. Так есть ли в любом случае положить пакет на CRAN без этой модели C, и при вызове install.packages("my.package"), он может автоматически загрузить модель C с github.com/my_github?

На данный момент я написал следующий код в zzz.R:

.onLoad <- function(libname, pkgname) {
    if ( ! "Github_pkg" %in% (all.available = TRUE)){
        devtools::install_github("myGithub/Github_pkg")
    }
} 

Это нормально, если я отправлюсь в CRAN? Или я должен использовать drat пакет от Дирка? Спасибо!!

1 ответ

Вы можете заглянуть в мой пакет drat, чтобы создать свой собственный репозиторий на GitHub. Я использую это, например, для размещения пакета Rblpapi, в который я внес вклад (и который опирается на библиотеку Bloomberg) в этом репозитории ghrr, построенном с использованием drat.

Это все работает. CRAN даже принял пакет, в котором репозиторий ghrr drat использовался как внешний репозиторий (но с тех пор удалил этот пакет по другой причине).

Вам все еще нужно организовать свой "первичный" пакет в CRAN таким образом, чтобы "вторичный" пакет представлял собой только "Предлагает", поскольку фактические зависимости также должны быть в CRAN. Но, по крайней мере, это дает вам возможность автоматизировать эти процессы.

Другие вопросы по тегам