没有找到与R版本3.5.0兼容的RTools

时间:2018-04-26 04:43:09

标签: r data.table packages devtools rtools

我在安装R版本3.5.0的data.table时遇到问题,并建议检查RTools是否已正确安装。

安装了RTools 3.5(这似乎是最新的)后我输入了

find_rtools(T)

我收到以下消息:

WARNING: Rtools is required to build R packages, but no version 
of Rtools compatible with R 3.5.0 was found. 
(Only the following incompatible version(s) of Rtools were found:3.4,3.5)

Please download and install the appropriate version of Rtools from 
http://cran.r-project.org/bin/windows/Rtools/.

所以一方面它看起来我已经安装了3.5,但它似乎认为有一个更新/不同的版本。

有什么想法吗?

3 个答案:

答案 0 :(得分:13)

问题是Rtools 3.5不在您的Windows系统PATH中,因此find_rtools无法找到它。另一种可能性是Rtools

中存在PATH的不兼容版本

安装Rtools的最佳做法:

  • 下载latest version
  • 在默认推荐位置(RTools驱动器的根目录)安装CC:/Rtools/

  • < 重要>选中允许Rtools修改系统路径

  • 的复选框

enter image description here enter image description here

安装完成后,我们可以通过在R

中运行此命令来仔细检查
R> Sys.getenv('PATH')
[1] "C:\\Program Files\\R\\R-3.5.0\\bin\\x64;c:\\Rtools\\bin;c:\\Rtools\\mingw_64\\bin;

另见guide

修改:对于没有管理权限的人,请参阅以下链接:

答案 1 :(得分:3)

<强>更新

实用程序find_rtools已移至包pkgbuild(如devtools News中所述)。函数pkgbuild::find_rtools()在我的系统中正确发现Rtools 3.5。

旧答案

我遇到了同样的问题,因为devtools尚未更新以考虑最新版本的RTools(3.5)。这是一个简单的修复,应该在更新包时起作用:

# add missing RTools 3.5 info
v_i = devtools:::version_info
v_i[["3.5"]] = v_i[["3.4"]]
v_i[["3.5"]]$version_max = "3.5.99"
assignInNamespace(x     = "version_info",
                  value = v_i,
                  ns    = "devtools")

# now find_rtools should work properly
devtools::find_rtools()

当然,这种方法假设devtools::find_rtools在更新R和RTools之前为您工作。如果不是这种情况,那么您可能会遇到其他人提到的错误的安装和/或PATH变量。

答案 2 :(得分:1)

我很确定RTools 3.5适用于R-3.5。我之前没有使用过find_rtools(),但我确实设法在一周前从源代码编译data.table。我是这样做的:

安装R 3.5和RTools 3.5之后,我手动检查/修改了以下system-envs(不知怎的,RTools安装程序无法自动执行此操作,所以我从RTools阅读了自述文件并手动完成):  BINREF =“C:/ Rtools / mingw _ $(WIN)/ bin /”(带“s,斜杠是/)  PATH =“; C:\ Rtools \ bin”(“s是可选的,斜杠是\”

然后我下载了data.table的源包(版本为1.10.4-3),并从windows命令行运行了R CMD INSTALL data.table_1.10.4-3.tar.gz。使用工作的RTools,包将成功编译。 我还尝试了来自R-GUI的install.packages(data.table),我在弹出窗口中确认了源代码的编译。

无论如何,我相信cran现在为data.table提供了一个工作的windows-binary,因此不再需要使用RTools。