Korzystanie z pakietu rJava na Win7 64 bit z R
Próbuję zainstalować rJava
na komputerze z Win 7 64 bit. When I run
install.packages("rJava")
Wszystko wydaje się być w porządku:
Installing package(s) into ‘C:/Users/djq/Documents/R/win-library/2.13’
(as ‘lib’ is unspecified)
trying URL 'http://software.rc.fas.harvard.edu/mirrors/R/bin/windows/contrib/2.13/rJava_0.9-1.zip'
Content type 'application/zip' length 654936 bytes (639 Kb)
opened URL
downloaded 639 Kb
package 'rJava' successfully unpacked and MD5 sums checked
The downloaded packages are in
C:\TEMP\RtmpW2eAUw\downloaded_packages
Ale kiedy próbowałem załadować bibliotekę library(rJava)
dostaję następujący błąd:
Error : .onLoad failed in loadNamespace() for 'rJava', details:
call: inDL(x, as.logical(local), as.logical(now), ...)
error: unable to load shared object 'C:/Users/me/Documents/R/win-library/2.13/rJava/libs/x64/rJava.dll':
LoadLibrary failure: %1 is not a valid Win32 application.
Error: package/namespace load failed for 'rJava'
Zainstalowałem Java JRE (w wersji 32 i 64 bitowej) i JDK (w wersji 32 i 64 bitowej). Moja wersja R to R version 2.13.1 (2011-07-08)
i używam RStudio.
Jeśli spróbuję użyć 32-bitowego R, mogę załadować rJava
dobrze. Czy problem polega tylko na tym, że rJava
nie uruchomić w r 64 bit? Jak mogę sprawdzić, czy pakiet jest tylko dla 32 zamiast 64?
Edit: just posted R.version()
:
> R.Version()
$platform
[1] "x86_64-pc-mingw32"
$arch
[1] "x86_64"
$os
[1] "mingw32"
$system
[1] "x86_64, mingw32"
$status
[1] ""
$major
[1] "2"
$minor
[1] "13.1"
$year
[1] "2011"
$month
[1] "07"
$day
[1] "08"
$`svn rev`
[1] "56322"
$language
[1] "R"
$version.string
[1] "R version 2.13.1 (2011-07-08)"
10 answers
[14]}Aktualizacja (Lipiec 2018):
Najnowsza wersja CRAN rJava znajdzie jvm.dll
automatycznie, bez ręcznego ustawiania PATH
lub JAVA_HOME
. Należy jednak pamiętać, że:
- aby używać rJava w 32-bitowym R, musisz Java dla Windows x86
- aby używać rJava w 64-bitowym R, musisz Java dla Windows x64
- aby zbudować lub sprawdzić pakiety R z multi-arch (domyślnie) musisz zainstalować oba Java dla Windows x64 oraz Java dla Windows x86 . Na Win 64 pierwszy instaluje się w
C:\Program files\Java\
, a drugi wC:\Program Files (x86)\Java\
, więc nie są sprzeczne.
Od wersji Java 9, wsparcie dla x86 (win32) zostało przerwane. Dlatego najnowszą działającą konfiguracją multi-arch jest instalacja obu jdk-8u172-windows-i586.exe i jdk-8u172-windows-x64.exe a następnie pakiet binarny z CRAN:
install.packages("rJava")
Pakiet binarny z CRAN powinien odebrać jvm przez siebie. tylko eksperci : aby zbudować rJava ze źródła, potrzebujesz --merge-multiarch
flagi:
install.packages('rJava', type = 'source', INSTALL_opts='--merge-multiarch')
Stary anwser:
(Uwaga: wielu ludzi w innych odpowiedziach/komentarzach powiedziało, aby usunąć JAVA_HOME, więc rozważ to. Nie wspominałem ostatnio o tym problemie, aby wiedzieć, czy wszystkie poniższe kroki są nadal konieczne.)
Oto kilka szybkich rad, jak uruchomić R + rJava na Windows 7 64bit. Istnieje kilka możliwości, ale większość ma fatalne wady. Proszę. działa Mi:
Dodaj jvm.dll to your PATH
Rjava, R Java bridge, będzie potrzebował jvm.dll, ale R będzie miał problem ze znalezieniem tego DLL. Znajduje się w folderze jak
C:\Program Files\Java\jdk1.6.0_25\jre\bin\server
Lub
C:\Program Files\Java\jre6\jre\bin\client
Gdziekolwiek jest Twój, dodaj ten katalog do zmiennej windows PATH. (Windows - > "ścieżka" - > "Edytuj zmienne środowiskowe dla swojego konta" - > ścieżka - > Edytuj wartość.)
Możesz już mieć Javę na swojej ścieżce. Jeśli tak, powinieneś znaleźć katalog klient / serwer w tym samym katalogu Java "home", co ten, który znajduje się już na twojej ścieżce.
Aby być bezpiecznym, upewnij się, że Twoja Architektura pasuje.Jeśli masz Javę w Program Files
, jest ona 64-bitowa, więc powinieneś uruchomić R64. Jeśli masz Javę w Program Files (x86)
, jest to 32-bit, więc używasz zwykłego 32-bitowego R.
Uruchom ponownie R z menu Windows
Jeśli R jest uruchomiony, Zakończ.
Z menu Start Uruchom R / RGUI , RStudio. Jest to bardzo ważne, aby R podnieść swoją ścieżkę zmiany.
Zainstaluj rJava 0.9.2.
Wcześniejsze wersje nie działają! Lustra nie są aktualne, więc przejdź do źródła na www.rforge.net: http://www.rforge.net/rJava/files / . zwróć uwagę na porady
“Please use
`install.packages('rJava',,'http://www.rforge.net/')`
to install.”
To prawie prawda. To faktycznie działa:
install.packages('rJava', .libPaths()[1], 'http://www.rforge.net/')
Uważaj na interpunkcję! Tajemniczy".libPaths () [1]," nakazuje R zainstalowanie pakietu w głównym katalogu biblioteki. Z jakiegoś powodu, pozostawiając wartość puste nie działa, nawet jeśli powinno być domyślne.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-05 21:47:22
Uruchomienie rjavy zależy w dużej mierze od konfiguracji komputera:
- musisz użyć tej samej 32-bitowej lub 64-bitowej wersji zarówno dla: R jak i JDK/JRE. Mieszanka tego nigdy nie zadziała (przynajmniej dla mnie).
-
Jeśli używasz wersji 64bit upewnij się, żenie ustawiasz JAVA_HOME jako zmiennej środowiska. Jeśli ta zmienna jest ustawiona, rJava nie będzie działać z jakiegokolwiek powodu (przynajmniej dla mnie). Możesz łatwo sprawdzić w R jest JAVA_HOME jest ustawione z
Sys.getenv("JAVA_HOME")
Jeśli potrzebujesz ustawić JAVA_HOME (np. potrzebujesz go dla Mavena lub czegoś innego), możesz go dezaktywować w swojej sesji R za pomocą następującego kodu przed załadowaniem rJava:
if (Sys.getenv("JAVA_HOME")!="")
Sys.setenv(JAVA_HOME="")
library(rJava)
To powinno załatwić sprawę w większości przypadków. Ponadto naprawi to problem przy użyciu pakietu rJava na Win7 64 bit z R, zbyt. Zapożyczyłem pomysł wyłączenia zmiennej enviorment z r: rjava package install failed.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:17:59
Dla mnie, ustawienie JAVA_HOME zadziałało (zamiast wyłączania, jak w innej odpowiedzi podanej tutaj). Albo w Windows:
set JAVA_HOME="C:\Program Files\Java\jre7\"
Lub wewnątrz R:
Sys.setenv(JAVA_HOME="C:\\Program Files\\Java\\jre7\\")
Ale to, co jest prawdopodobnie najlepszym rozwiązaniem (od rJava 0.9-4) jest nadrzędne w R Windows JAVA_HOME ustawienie łącznie:
options(java.home="C:\\Program Files\\Java\\jre7\\")
library(rJava)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-08 13:20:22
Ostatnie pytanie ma łatwą odpowiedź:
> .Machine$sizeof.pointer
[1] 8
To znaczy, że prowadzę R64. Gdybym uruchomił 32 bit R, zwróciłbym 4. Tylko dlatego, że używasz 64-bitowego systemu operacyjnego, nie oznacza, że będziesz działał 64-bitowy R, A z komunikatu o błędzie wynika, że nie jesteś.
EDIT: jeśli pakiet zawiera pliki binarne, to znajdują się one w oddzielnych katalogach. Szczegóły zależą od systemu operacyjnego. Zauważ, że błąd LoadLibrary wystąpił podczas próby znalezienia biblioteki dll w ...rJava/libs/x64/...
na moim MacOS system the ...rJava / libs/...'folder posiada 3 podkatalogi: i386, ppc i x86_64. (Pliki ppc są oczywiście bezużyteczny bagaż.)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-11 11:53:07
Przepraszam za necro.
Ja też natknąłem się na ten sam problem i dowiedziałem się, że rJava
oczekuje JAVA_HOME
, że wskaże JRE. Jeśli masz zainstalowany JDK, najprawdopodobniej Twój JAVA_HOME
wskazuje na JDK. Moje szybkie rozwiązanie:
Sys.setenv(JAVA_HOME=paste(Sys.getenv("JAVA_HOME"), "jre", sep="\\"))
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-20 13:03:06
Miałem pewne problemy z określeniem pakietu Java, który został zainstalowany, gdy napotkałem ten problem, ponieważ poprzednie odpowiedzi nie do końca działały dla mnie. Aby to uporządkować, wpisałem:
Sys.setenv(JAVA_HOME="C:/Program Files/Java/
A następnie naciśnij tab i dwa sugerowane katalogi to "jre1. 8. 0_31 /" i "jre7 /"
Jre7 nie rozwiązał mojego problemu, ale jre1. 8. 0_31 / zrobił. Ostatnia odpowiedź była uruchomiona (przed biblioteką (rJava)):
Sys.setenv(JAVA_HOME="C:/Program Files/Java/jre1.8.0_31/")
Używam 64-bitowego Windows 8.1 mam nadzieję, że to komuś pomoże else.
Update:
Sprawdź swoją wersję, aby określić, co powinno być X (moja zmieniła się kilka razy od tego posta):
Sys.setenv(JAVA_HOME="C:/Program Files/Java/jre1.8.0_x/")
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-27 20:03:38
Miałem podobny problem z rjavą. Ładowałby się, ale pakiet, który od niego zależy, nie ładowałby się.
Użytkownicy mogą tracić dużo czasu z jvm.dll i PATH i JAVA_HOME, gdy prawdziwym rozwiązaniem jest zmuszenie instalatora do zapomnienia o i386. Użyj opcji instalacji.paczki. (działa to również wtedy, gdy używana jest biblioteka drat. (kredyt idzie do Dasona)
install.packages("SqlRender",INSTALL_opts="--no-multiarch")
Możesz również zmodyfikować tylko ścieżkę użytkownika za pomocą polecenia win, takiego jak:
setx PATH "C:\Program Files\Java\jre1.8.0_102\bin\server;%PATH%"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-29 15:56:06
Muszę mieć 32-bitowy JRE Dostępny dla mojej przeglądarki, ale 64-bitowy JRE dla R i rJava. 32-bitowy JRE jest zainstalowany w domyślnej lokalizacji. Po kilku eksperymentach okazało się, że potrzebowałem tylko jednej z sugestii misterbee , Aby uzyskać rJava (wersja 0.9-6) pracuje dla mnie. Wszystko, co zrobiłem, to dodanie ścieżki do mojej 64-bitowej instalacji Javy:
C:\apps\Java\jre\bin\server\jvm.dll
Do górnej części zmiennej środowiskowej my path (twoja ścieżka prawdopodobnie będzie inna) i Usuń moje JAVA_HOME jako user2161065 suggested. Umieściłem to tuż przed wpisem
C:\ProgramData\Oracle\Java\javapath
Które Instalator Oracle wstawia u góry ścieżki i wskazuje na niektóre dowiązania symboliczne do 32-bitowego JRE. Poprzez dodanie wpisu do 64 bitowego jvm.dll, wygląda na to, że rJava może znaleźć to, czego potrzebuje.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-14 18:54:42
Myślę, że to aktualizacja. Nie mogłem zainstalować rjavy (na Windows) dopóki nie zainstalowałem JDK, jak na Javac nie został znaleziony oraz javac nie działa w wierszu polecenia systemu windows. Wiadomość, którą otrzymywałem to
'javac' is not recognized as an internal or external command, operable program or batch file.
JDK obejmuje JRE, a zgodnie z https://cran.r-project.org/web/packages/rJava/index.html aktualna wersja (0.9-7 opublikowano 2015-Jul-29) rJava
SystemRequirements: Java JDK 1.2 or higher (for JRI/REngine JDK 1.4 or higher), GNU make
Więc jesteś: jeśli rJava nie zainstaluje, ponieważ nie może znajdź javaca i masz zainstalowane JRE, a następnie spróbuj JDK. Upewnij się również, że JAVA_HOME
wskazuje na JDK, a nie na JRE.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:02:40
Rozwiązałem problem przez odinstalowanie widocznie zbędnego oprogramowania Java z mojego komputera z systemem windows 7 x64. Udało mi się to najpierw odinstalować wszystkie aplikacje Java i , a następnie zainstalować nową wersję Java. (Później wskazaĺ 'em R 3.4.3 x86_64-W64-mingw32 na Ĺ" cieĹźkÄ ™ Javy , chociaĹź uwaĺźam, Ĺźe nie byĹ ' to prawdziwy problem.) Dzisiaj została już tylko Java 8 Update 161 (64-bit) 8.0.1610.12. Po tym, install.packages("rJava"); library(rJava)
zadziałało idealnie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-22 07:53:31