我刚刚在一台之前没有R的新计算机上安装了R3.5(和RStudio)。然后我安装了devtools包,当我从github安装一个软件包时,我意识到(当提示时!)我忘了安装Rtools,所以我按照提示进行操作。有趣的是,这个R工具默认安装在C:\ RBuildTools的目录中,没有提示设置路径变量,正如我在之前的版本中所记得的那样。
当我重新加载R时,我被提示再次安装Rtools。我的路径不包含对Rtools(或Rbuildtools目录)的引用,并且记住我过去的安装使用了目录C:\ Rtools,我决定卸载C:\ RBuildTools并从http://cran.r-project.org/bin/windows/Rtools/安装一个新版本(已安装)版本3.5)进入C:\ Rtools。在安装中,我检查了路径变量选项。
我重新加载了RStudio并检查以确保找到了Rtools:
> devtools::find_rtools()
Error in system(full, intern = TRUE, ignore.stderr = quiet, ...) : running command '"C:/PROGRA~1/R/R-35~1.0/bin/x64/R" --no-site-file --no-environ --no-save --no-restore --quiet CMD config CC' had status 2
然而,rtools出现在我的路径中:
> Sys.getenv("PATH")
[1] "C:\\Program Files\\R\\R-3.5.0\\bin\\x64;C:\\Rtools\\bin;..."
所以这似乎不是Rtools没有正确添加到我的Path变量的问题。谷歌搜索已经出现了看似相关的错误,但到目前为止还没有解决我的问题。我已经尝试了两个建议here,但都没有效果。我想知道这是否与RStudio有关。
答案 0 :(得分:4)
我有一个与RTools 3.5类似的问题
安装程序确实将C:\RTools\bin
添加到PATH,但它没有添加
C:\RTools\mingw_64\bin
显然确实造成了一些混乱。
将C:\RTools\mingw_64\bin
添加到PATH后,一切都很好。
我的症状有点不同:RStudio在尝试"安装并重新启动时报告错误。我找不到RTools的软件包,而devtools::find_rtools()
报告它们存在。
答案 1 :(得分:1)
我在这里有一个全面的答案,因为rtools
不会因使用pkgbuild
而得到认可
`devtools::install_github(repo)` keeps installing rtools35.exe
代码段承认已发布的github评论(由r-sig-finance公民帮助)
但是,find_tools()
的错误已经消失,但对于最终目标并且位于BB云中的src / master中的新代码,其错误仍然保留在devtools::install_bitbucket()
中。
我卸载了devtools并安装了遥控器
unloadNamespace("devtools")
library(remotes)
install_bitbucket(author/repo)
正如我所说,find_tools
的问题可以通过pkgbuild
加载所有项目来解决
答案 2 :(得分:0)
尝试将RStudio更新为最新版本。
将Rtools更新为3.5后发现此问题,发现将RStudio更新为1.1.447修复了它。
如果这不起作用,您可以从RStudio内部运行rstudioapi::versionInfo()$version
并共享输出吗?
如果这不是你的问题,我发现RStudio保留了一个日志 - 它帮助我解决了这个问题。在我的情况下,文件位于“C:\ Users \ my_windows_username \ AppData \ Local \ RStudio-Desktop \ log \ rsession-my_windows_username.log”
我在对应于RStudio
中的错误的日志时间中发现了此警告警告未知的Rtools版本:3.5; LOGGED FROM:rstudio :: core ::错误rstudio :: core :: r_util :: scanRegistryForRTools(HKEY,bool,std :: vector *)C:\ Users \ Administrator \ rstudio \ src \ cpp \ core \ r_util \ RToolsInfo。 CPP:269
这表明RStudio没有识别3.5,这导致我检查了RStudio的更新版本。