Установите некоторые части из 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. Но, по крайней мере, это дает вам возможность автоматизировать эти процессы.