我正在使用最新的 R、RStudio 和 Rtools。
-- 我已经更新了环境变量。现在我可以从命令行调用 gcc 或 R。
当我尝试从 RStudio 发布应用程序时,出现以下错误,
Preparing to deploy application...DONE Uploading bundle for application: 64015...Error: * Application depends on package "Rtools" but it is not installed. Please resolve before continuing. Execution halted
--我已经在控制台上尝试过了,
> find_rtools(T)
Scanning path...
ls : D:\Rtools\bin\ls.exe
gcc: D:\Rtools\GCC-46~1.3\bin\gcc.exe
VERSION.txt
Rtools version 3.3.0.1959
Version: 3.3
[1] TRUE
所以,Rtools 似乎基本上就在那里!
-- 我检查了环境变量,这些都没有问题,因为我还提到 R 和 gcc 可以从命令行启动
但是,我尝试使用安装程序包从 RStudio 中安装和检查,它说,
> install.Rtools()
No need to install Rtools - You've got the relevant version of Rtools installed
>
-- 这不可能是这个的重复,Rtools not being detected by R 这些我都试过了。没有成功。
请提出解决方案。非常感谢您抽出宝贵的时间。
最佳答案
我不知道为什么 RStudio 会时不时地出现此类问题,但这里描述了一个手动解决方法:
https://github.com/rwinlib/r-base/wiki/Testing-Packages-with-Experimental-R-Devel-Build-for-Windows
基本上你必须设置两个环境变量来指向Rtools的正确安装路径:
Sys.setenv(PATH = paste("C:/Rtools/bin", Sys.getenv("PATH"), sep=";"))
Sys.setenv(BINPREF = "C:/Rtools/mingw_$(WIN)/bin/")
确保对于 BINPREF 路径,最后的斜杠包含在 bin
之后。
为了避免在重新启动 RStudio 后丢失此更改,您可以修改 (Windows) 环境变量,或者将以下行添加到每次 R 启动时执行的 .Renviron
文件中。
顺便说一句:$(WIN)
部分是没有拼写错误,但这是必需的,以便 R 可以根据您使用的 R 版本注入(inject)“32”或“64” (32 或 64 位)。
编辑 1:另请参阅最近发表的 r-bloggers 文章:https://www.r-bloggers.com/quirks-about-running-rcpp-on-windows-through-rstudio/
关于RStudio 未检测到 Rtools,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33103203/