Нет 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]()
После установки мы можем дважды проверить, выполнив эту команду внутри 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 больше не требуется.