我在安装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,但它似乎认为有一个更新/不同的版本。
有什么想法吗?
答案 0 :(得分:13)
问题是Rtools 3.5
不在您的Windows系统PATH
中,因此find_rtools
无法找到它。另一种可能性是Rtools
PATH
的不兼容版本
安装Rtools
的最佳做法:
在默认推荐位置(RTools
驱动器的根目录)安装C
:C:/Rtools/
< 重要强>>选中允许Rtools
修改系统路径
安装完成后,我们可以通过在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。