Подтвердить что ты не робот

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 Я пробовал все это. Не работает.

Пожалуйста, предложите решение. Большое вам спасибо за ваше время.

4b9b3361

Ответ 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 для постоянного изменения.