【问题标题】:No RTools compatible with R version 3.5.0 was found未找到与 R 版本 3.5.0 兼容的 RTools
【发布时间】:2018-10-06 16:18:54
【问题描述】:

我在为 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,但似乎认为有一个更新/不同的版本。

有什么想法吗?

【问题讨论】:

  • 第二个链接特别好用!我的猜测是您最近的RTools 不在您的PATH 中。或者它在您的 PATH 中,但另一个(不兼容的)Rtools 版本优先。
  • @Tung 你应该把这个作为答案——这真的很有帮助!
  • @kath:按照您的建议添加答案。谢谢!

标签: r data.table packages devtools rtools


【解决方案1】:

更新

实用程序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】:

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

    安装 R 3.5 和 RTools 3.5 后,我手动检查/修改了以下系统环境(不知何故,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。

    【讨论】:

      【解决方案3】:

      问题是Rtools 3.5 不在您的Windows 系统中PATH 因此find_rtools 找不到它。另一种可能是Rtools 的不兼容版本在PATH

      安装Rtools的最佳实践:

      • 下载latest version

      • 在默认推荐位置安装RTools(在您的C驱动器的根目录):C:/Rtools/

      • 重要>勾选允许Rtools修改系统PATH的复选框

      安装后,我们可以通过在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


      编辑:对于没有管理权限的用户,请查看以下链接:

      【讨论】:

        猜你喜欢
        • 2018-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-26
        • 1970-01-01
        • 2019-01-07
        • 1970-01-01
        • 2018-08-21
        相关资源
        最近更新 更多