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, но кажется, что есть более новая / другая версия.

Какие-нибудь мысли?

3 ответа

Решение

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

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

  • Загрузите последнюю версию
  • устанавливать 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;

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


Редактировать: для тех, кто не имеет прав Администрации, смотрите эти ссылки:

ОБНОВИТЬ

Утилита find_rtools был перемещен в пакет pkgbuild (как отмечено в devtools Новости). Функция 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, как уже упоминали другие.

Я уверен, что 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-бинарный файл для data.table, поэтому использование RTools больше не требуется.

Другие вопросы по тегам