Rtools не обнаружен из RStudio
Я использую последние R, RStudio и Rtools.
- Я обновил переменные среды. Теперь я могу вызвать gcc или R из командной строки.
Пока я пытался опубликовать приложение из RStudio, я получаю следующую ошибку:
Подготовка к развертыванию приложения... DONE Uploading bundle for приложение: 64015... Ошибка: * Приложение зависит от пакета "Rtools", но оно не установлено. Пожалуйста, разрешите, прежде чем продолжить. Выполнение приостановлено
- Я пробовал это, на консоли,
> find_rtools(T)
Scanning path...
ls : D:\Rtools\bin\ls.exe
gcc: D:\Rtools\GCC-46~1.3\bin\gcc.exe
VERSION.txt
Rtools version 3.3.0.1959
Version: 3.3
[1] TRUE
Итак, Rtools кажется в основном там!
- Я проверил переменные среды, все в порядке, так как я также упомянул R и gcc можно запустить из командной строки
Тем не менее, я попытался установить и проверить из RStudio с помощью пакета installr, он говорит:
> install.Rtools()
No need to install Rtools - You've got the relevant version of Rtools installed
>
- Это не возможное дублирование этого, Rtools не обнаруживается с помощью R
Я пробовал все это. Не работает.
Пожалуйста, предложите решение. Большое вам спасибо за ваше время.
Ответы
Ответ 1
Я понятия не имею, почему RStudio время от времени сталкивается с такими проблемами, но здесь описывается ручная работа:
https://github.com/rwinlib/r-base/wiki/Testing-Packages-with-Experimental-R-Devel-Build-for-Windows
В основном вы должны установить две переменные среды на правильный путь установки Rtools:
Sys.setenv(PATH = paste("C:/Rtools/bin", Sys.getenv("PATH"), sep=";"))
Sys.setenv(BINPREF = "C:/Rtools/mingw_$(WIN)/bin/")
Чтобы не потерять это изменение после перезапуска RStudio, вы можете вместо этого изменить свои переменные среды Windows или добавить следующие строки в ваш файл .Renviron
, который выполняется при каждом запуске R.
BTW: $(WIN)
часть не, но требуется, чтобы R мог вводить "32" или "64" в зависимости от используемой вами версии R (32 или 64 бит).
Изменить 1:. Смотрите также эту статью r-bloggers, опубликованную недавно: https://www.r-bloggers.com/quirks-about-running-rcpp-on-windows-through-rstudio/
Ответ 2
Обратите внимание, что есть новые потенциальные проблемы (начиная с R 3.3), так как R (не RStudio, но R) добавляет переменную BINPREF
и изменяет переменную Path
по умолчанию, см. файл Renviron.site
для последнего, в Windows обычно, например, под C:\Program Files\R\R-3.4.3\etc
:
PATH="C:\Rtools\bin;${PATH}"
Это может легко конфликтовать для людей с пользовательским путем и/или несколькими версиями Rtools, поэтому я прокомментировал это с помощью #
.
Для проблемы BINPREF
см. файл Makeconf
, например. под C:\Program Files\R\R-3.4.3\etc\x64
:
BINPREF ?= c:/Rtools/mingw_64/bin/
Затем я изменил это на c:/Rtools34/mingw_64/bin/
, где я установил свой Rtools34
.
Вы можете сделать то же самое для файла Makeconf
под 32-разрядной дугой. подкаталог.
Ответ 3
Через R CMD проверьте не ищет gcc в каталоге Rtools:
R использует переменную BINPREF
для поиска определенных исполняемых файлов, включая компоненты RTools.
BINPREF
можно установить в нескольких местах. В моем случае это было установлено в C: /Users/MYUSERNAME/Documents/.R/Makevars
. При удалении содержимого этого файла была удалена ссылка на предыдущую, а после удаления установку RTools.
Также стоит проверить файл $RPATH/etc/i386/Makeconf
($RPATH/etc/i386/Makeconf
местами i386 для x64, если у вас установлена 64-битная установка), который будет воссоздан при каждой новой установке R. Обратите внимание на строку BINPREF?= c: /Rtools/mingw_32/bin/
, которая (через оператор ?=
) Установит значение BINPREF
если оно еще не установлено, как это было в файле Makevars, упомянутом выше.
Временное исправление заключается в замене BINPREF?=
BINPREF =
, но поскольку файл Make conf перезаписывается при обновлении R, вам придется помнить об этом каждый раз. Лучше отредактировать или удалить файл Make vars для постоянного изменения.