[英]R package - force a dependency on a GitHub version over a CRAN version
[英]Make CRAN R package suggest GitHub R package
I want to use the R package BOLTSSIRR
available on GitHub in my R package, which I want to upload to CRAN.
我在DESCRIPTION
文件中的Suggests:
下列出了BOLTSSIRR
,並使用Additional_repositories: https://github.com/daviddaigithub/BOLTSSIRR
。
但是,運行R CMD check --as-cran
我得到:
Suggests or Enhances not in mainstream repositories:
BOLTSSIRR
Availability using Additional_repositories specification:
BOLTSSIRR no ?
? ? https://github.com/daviddaigithub/BOLTSSIRR
Additional repositories with no packages:
https://github.com/daviddaigithub/BOLTSSIRR
所以 GitHub 鏈接似乎在檢查中沒有得到認可。 我可能需要在這里改變一些東西嗎?
如您所見,您不能在 CRAN package 中使用Remotes
。 您需要做的是確保您所依賴的 package 的.tar.gz
文件在某處可用。 Github 不會自動執行此操作,因為https://github.com/daviddaigithub/BOLTSSIRR
未設置為 package 存儲庫。
解決方案是創建自己的小型存儲庫,並在其中保留非 CRAN 包的副本。 The drat
package (available here: https://github.com/eddelbuettel/drat ) makes this easy as long as you have a Github account: follow the instructions here: https://github.com/drat-base/drat . 總之:
docs/
文件夾啟用 Github 頁面。remotes::install_github("eddelbuettel/drat")
將drat
package 安裝到 R 中。 (我假設這個版本最終會進入 CRAN;如果你使用當前的 CRAN 版本,說明會稍微復雜一些。)options(dratBranch="docs"); drat::insertPackage(...)
options(dratBranch="docs"); drat::insertPackage(...)
將這些文件插入到您的存儲庫中。Additional_repositories: https://yourname.github.io/drat
如果更新了BOLTSSIRR
,您將負責更新您的存儲庫。 這很好,因為更新可能會破壞您的更新:畢竟,它仍處於開發模式。 這也很糟糕,因為您的用戶不會自動獲得錯誤修復。
就是這樣,如果我沒有錯過任何東西!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.