我正在创建我的第一个软件包,该软件包将通过Github安装。我认为Rtools仅是创建它的人所需要的。但是,尝试使用Github安装它的人们被要求更新Rtools。这真的有必要吗?
做了一些研究,发现:https://community.rstudio.com/t/missing-rtools-should-i-be-worried/27817
答案之一如下:
”这意味着如果您要安装需要 编译时,还必须在系统中安装Rtools。 “
这是包含以下软件包的仓库:https://github.com/datazoompuc/PNAD_Covid/tree/master/R/datazoom_pnad_covid
这实际上是什么意思?我怎么知道我的包裹需要编译?
答案 0 :(得分:3)
您的软件包“需要编译”(即,需要Rtools从源代码安装(在Windows上))(如果它包含C或Fortran组件,即如果软件包的src/
目录中有任何内容,则<... / p>
如果您是程序包的作者,则不知道您的程序包中是否包含C或Fortran代码,那么您几乎肯定不会。
devtools
很可能过于狂热,即检测到用户的Rtools
不是最新的,并建议(要求?)他们更新它,即使不需要更新此安装。
答案 1 :(得分:2)
我认为Rtools仅是创建它的人所需要的。
是的,当且仅当您将其作为 binary 分发时。然后,创建者使用Rtools进行编译和链接,用户只需安装并享受。
这就是CRAN作为Windows用户的CRAN编译工作的方式。
但是,GitHub最重要的是 source 信息库,因此从GitHub进行的安装使用的是源代码模式...并且每个用户都需要编译,因此拥有Rtools。 (除非程序包及其所有操作仅是R代码。)
您还可以使用drat软件包创建 eg 在GitHub上创建软件包存储库,但这使我们与原始版本有所不同问题。