簡體   English   中英

Make CRAN R package suggest GitHub R package

[英]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 . 總之:

  1. Fork https://github.com/drat-base/drat到您的帳戶,並將其克隆到您自己的計算機上。
  2. 使用主分支中的docs/文件夾啟用 Github 頁面。
  3. 使用remotes::install_github("eddelbuettel/drat")drat package 安裝到 R 中。 (我假設這個版本最終會進入 CRAN;如果你使用當前的 CRAN 版本,說明會稍微復雜一些。)
  4. 構建您要插入的 package。 您需要源版本; 如果您的用戶難以構建二進制文件,您可能也需要二進制文件。
  5. 運行options(dratBranch="docs"); drat::insertPackage(...) options(dratBranch="docs"); drat::insertPackage(...)將這些文件插入到您的存儲庫中。
  6. 提交更改,並將它們推送到 Github。
  7. 在需要使用這個非CRAN package的package中,添加
    Additional_repositories: https://yourname.github.io/drat
    到說明。

如果更新了BOLTSSIRR將負責更新您的存儲庫。 這很好,因為更新可能會破壞您的更新:畢竟,它仍處於開發模式。 這也很糟糕,因為您的用戶不會自動獲得錯誤修復。

就是這樣,如果我沒有錯過任何東西!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM