r - 使 CRAN R 包建议 GitHub R 包
问题描述
我想BOLTSSIRR
在我的 R 包中使用 GitHub 上提供的 R 包,我想将它上传到 CRAN。
BOLTSSIRR
我在文件Suggests:
中列出DESCRIPTION
并使用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 链接似乎在支票中没有得到认可。我可能需要在这里改变一些东西吗?
解决方案
如您所见,您不能Remotes
在 CRAN 包中使用。您需要做的是确保.tar.gz
您所依赖的软件包的文件在某处可用。Github 不会自动执行此操作,因为https://github.com/daviddaigithub/BOLTSSIRR
没有设置为包存储库。
解决方案是创建自己的小型存储库,并在其中保留非 CRAN 包的副本。只要您有 Github 帐户, 该drat
软件包(可在此处获取:https ://github.com/eddelbuettel/drat)就可以轻松完成:按照此处的说明进行操作: https ://github.com/drat-base/drat 。总之:
- 将https://github.com/drat-base/drat分叉到您的帐户中,并将其克隆到您自己的计算机上。
docs/
使用主分支中的文件夹启用 Github Pages 。- 使用 .将包安装
drat
到 R 中remotes::install_github("eddelbuettel/drat")
。(我假设这个版本最终会进入 CRAN;如果你使用当前的 CRAN 版本,说明会稍微复杂一些。) - 构建要插入的包。您需要源版本;如果您的用户难以构建二进制文件,您可能也需要二进制文件。
- 运行
options(dratBranch="docs"); drat::insertPackage(...)
以将这些文件插入到您的存储库中。 - 提交更改,并将它们推送到 Github。
- 在需要使用这个非CRAN包的包中,添加
Additional_repositories: https://yourname.github.io/drat
到DESCRIPTION。
如果更新,您将负责更新您的存储库BOLTSSIRR
。这很好,因为更新可能会破坏您的更新:毕竟,它仍处于开发模式。这也很糟糕,因为您的用户不会自动获得错误修复。
就是这样,如果我没有错过任何东西!
推荐阅读
- r - R studio中的窗格布局:完全显示所有四个窗格
- javascript - 悬停在徽标上后打开悬停菜单
- javascript - 状态呈现的输入元素的属性“onChange”不起作用
- python - 将预测值与它的索引/标识号相关联
- vue.js - 插件内的 Nuxt privateRuntimeConfig 访问
- mysql - 在检查唯一性时是否在 MySQL 中修剪了 Double 数据类型?
- powershell - 使用 powershell 在 Confluence 中创建页面
- visual-studio-code - 我已经设置了 ssh 密钥,但是 VSCode 一直要求输入密码
- c - C : 尝试实现一个简单的校验和,但当数据包数据长度为偶数时失败
- javascript - Firefox 在禁用输入时将上下文菜单事件直接传播到 DOM 根目录