r-packrat::resolve()一直要求我在Rtools已经安装时安装它



我今天发现了非常(非常(酷的packratR包,可以让您的项目重现。

然而,当我在Rstudio中使用packrat::resolve()packrat用于我的项目时,需要Rtools的软件包会触发一个弹出窗口,要求我安装Rtools(尽管它已经安装在"C:rtools40"中(。另一方面,Rstudio安装在"C:Program FilesRStudio"中。

我试图在另一台笔记本电脑上构建这个项目,但这个问题没有出现(Rtools安装相同,Rstudio直接安装在C:RStudio中(。

这意味着Rstudio在第一台笔记本电脑上找不到rtools路径。

这是一个常见的问题吗?它能链接到Rstudio路径吗?

信息:

> sessionInfo()
R version 4.0.2 (2020-06-22)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 18363)
Matrix products: default
locale:
[1] LC_COLLATE=English_United Kingdom.1252  LC_CTYPE=English_United Kingdom.1252    LC_MONETARY=English_United Kingdom.1252
[4] LC_NUMERIC=C                            LC_TIME=English_United Kingdom.1252    
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     
loaded via a namespace (and not attached):
[1] compiler_4.0.2   bookdown_0.20    rsconnect_0.8.16 htmltools_0.5.0  tools_4.0.2      yaml_2.2.1       rmarkdown_2.5   
[8] knitr_1.30       xfun_0.18        digest_0.6.27    rlang_0.4.8      evaluate_0.14

干杯!

编辑

事实证明,使用packrat的新替代品(renv(解决了这个问题。

您需要将RTools40添加到PATH中。您可以使用UI(在Windows搜索中搜索"环境变量"(或使用来完成此操作

library(devtools)
Sys.setenv(PATH = paste("C:/Rtools40/bin", Sys.getenv("PATH"), sep=";"))
Sys.setenv(BINPREF = "C:/Rtools40/mingw_$(WIN)/bin/")

最新更新