Нет RTools, совместимых с R версии 3.5.0, был найден

У меня возникли проблемы с установкой data.table для версии R 3.5.0, и было рекомендовано проверить правильность установки 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, но, похоже, кажется, что есть новая/другая версия.

Есть предположения?

Ответ 1

Проблема в том, что Rtools 3.5 не был в вашей системе Windows PATH поэтому find_rtools не смог ее найти. Другая возможность заключалась в том, что несовместимая версия Rtools была в PATH

Лучшая практика установки Rtools :

  • Загрузите последнюю версию
  • Установите RTools по умолчанию по умолчанию (в корне вашего диска C): C: /Rtools/

  • < Важно > Установите флажок, который позволяет Rtools изменять систему PATH

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;

См. Также это руководство


Изменить: для тех, у кого нет прав администрирования, см. Следующие ссылки:

Ответ 2

ОБНОВИТЬ

Утилита 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, как упомянуты другие.

Ответ 3

Я уверен, что RTools 3.5 работает с R-3.5. Я раньше не использовал find_rtools(), но мне удалось скомпилировать data.table из источника неделю назад. Вот как я это сделал:

После установки R 3.5 и RTools 3.5 я вручную проверил/модифицировал следующие системные envs (каким-то образом установщик RTools не смог выполнить это автоматически, поэтому я прошел через readme из RTools и сделаю это вручную): BINREF = "C: /Rtools/mingw _ $ (WIN)/bin/"(с" s, слэшами являются /) PATH = "; C:\Rtools\bin" ("s являются необязательными, косые черты \)

Затем я загрузил исходный пакет для data.table (был версии 1.10.4-3) и запустил R CMD INSTALL data.table_1.10.4-3.tar.gz из командной строки Windows. С рабочим RTools пакет успешно скомпилируется. Я также попробовал install.packages(data.table) из R-GUI, где у меня появилось всплывающее окно для подтверждения компиляции из источника.

Во всяком случае, я считаю, что теперь cran предоставляет рабочий файл windows-binary для data.table, поэтому использование RTools больше не требуется.