2015-10-13 28 views
7

Używam najnowszych R, RStudio i Rtools.Rtools nie jest wykrywany z RStudio

- Zaktualizowałem zmienne środowiskowe. Teraz mogę wywołać gcc lub R z linii poleceń.

Chociaż starałem się opublikować aplikację z RStudio, otrzymuję następujący błąd,

Preparing to deploy application...DONE Uploading bundle for application: 64015...Error: * Application depends on package "Rtools" but it is not installed. Please resolve before continuing. Execution halted

- Próbowałem to konsola,

> 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 

Więc Rtools wydaje zasadniczo tam!

- Sprawdziłem zmiennych środowiskowych, to są OK, jak już wspomniano też R i gcc mogą być uruchamiane z linii poleceń

Jednak próbowałem zainstalować i sprawdzić od wewnątrz RStudio użyciu pakietu installr, to mówi ,

> install.Rtools() 
No need to install Rtools - You've got the relevant version of Rtools installed 
> 

- to nie jest możliwe powielanie tego, Rtools not being detected by R próbowałem to wszystko. Nie działał.

Proszę zaproponować rozwiązanie. Dziękuję Ci bardzo za Twój czas.

+0

Czym dokładnie jest uruchomione polecenie, które zwraca błąd? Szuka pakietu "Rtools", który wydaje się być inny, niż szukanie Rtools do zainstalowania. Czy napisałeś własną paczkę? Czy poprawnie określiłeś zależności? – MrFlick

+0

Wiele osób popełnia podobne błędy, Rtools nie jest pakietem. Jego środowisko programistyczne, które należy zainstalować. Możesz przeczytać więcej tutaj, https://cran.r-project.org/bin/windows/Rtools/ –

+0

Testowałem to samo na dwóch komputerach. Brak szczęścia! czego mi brakuje? –

Odpowiedz

7

nie mam pojęcia dlaczego RStudio ma tego rodzaju problemy od czasu do czasu, ale nie jest to praca ręczna wokół opisane tutaj:

https://github.com/rwinlib/r-base/wiki/Testing-Packages-with-Experimental-R-Devel-Build-for-Windows

Zasadniczo trzeba ustawić dwie zmienne środowiskowe do prawidłowego ścieżka instalacji Rtools:

Sys.setenv(PATH = paste("C:/Rtools/bin", Sys.getenv("PATH"), sep=";")) 
Sys.setenv(BINPREF = "C:/Rtools/mingw_$(WIN)/bin/") 

aby uniknąć utraty tej zmiany po ponownym RStudio można modyfikować zmienne środowiskowe systemu Windows zamiast lub dodać następujące wiersze do Twojego .Renviron plików, który jest wykonywany przy każdym uruchomieniu R.

BTW: $(WIN) część jest nr literówka ale wymaga więc, że R może wstrzyknąć „32” lub „64” w zależności od wersji R używasz (32 lub 64-bitowy).

Edit 1:: Zobacz też ten artykuł R blogerzy opublikowany niedawno: https://www.r-bloggers.com/quirks-about-running-rcpp-on-windows-through-rstudio/

+0

Problem z tym rozwiązaniem neguje fakt, że OP używa niestandardowej ścieżki instalacyjnej 'D: /' zamiast 'C: /'. Jak wskazano w powyższym komentarzu, jest to znany problem z wersjami RStudio <1.1.0 – coatless

+1

@coatless Masz rację, teraz zadeklarowałem swoją odpowiedź jako "obejście". Pomyślałem, że byłoby to pomocne dla osób z podobnymi problemami (straciłem godziny na zdiagnozowanie i rozwiązanie tego problemu). –

+0

Jako aktualizację, musiałem nieznacznie zmodyfikować powyższe ścieżki bc teraz nazywa się 'RBuildtools' + numer wersji, nie tylko' Rtools ': '> Sys.setenv (BINPREF = "C: /RBuildtools/3.4/mingw _ $ (WIN)/bin /") > Sys.setenv (PATH = wklej ("C: /RBuildtools/3.4/bin", Sys.getenv ("PATH"), sep = ";")) ' – spops

0

pamiętać, że istnieją nowe potencjalne rodzaje problemów (od R 3,3 roku), ponieważ R (nie RStudio, ale R) dodaje zmienną BINPREF i modyfikuje zmienną Path domyślnie, patrz plik Renviron.site dla tego ostatniego, w systemie Windows zazwyczaj np. pod C:\Program Files\R\R-3.4.3\etc:

PATH="C:\Rtools\bin;${PATH}" 

To może łatwo kolidować dla osób z własnej ścieżki i/lub wielu wersjach Rtools zainstalowanych, więc mam skomentował to na zewnątrz z #.

Dla problemu BINPREF, zobacz plik Makeconf, np.pod C:\Program Files\R\R-3.4.3\etc\x64:

BINPREF ?= c:/Rtools/mingw_64/bin/ 

Mam następnie zmodyfikowane to c:/Rtools34/mingw_64/bin/, czyli tam, gdzie mam zainstalowane mój Rtools34.
Możesz zrobić to samo dla pliku Makeconf w 32-bitowym łuku. podkatalog.