Saya mencoba menginstal rJava
di komputer dengan Win 7 64 bit. Ketika saya berlari
install.packages("rJava")
semuanya tampak baik-baik saja:
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
tetapi ketika saya mencoba memuat perpustakaan library(rJava)
saya mendapatkan kesalahan berikut:
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'
Saya telah menginstal Java JRE (mencoba versi 32 dan 64 bit) dan JDK (menggunakan 32 dan 64 bit). Versi R saya R version 2.13.1 (2011-07-08)
dan saya menggunakan RStudio.
Jika saya mencoba menggunakan 32 bit R, saya dapat memuat dengan rJava
baik. Apakah masalahnya hanya itu rJava
tidak berjalan dalam R 64 bit? Bagaimana saya bisa tahu jika sebuah paket hanya untuk 32 dan bukan 64?
edit: baru saja diposkan 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)"
R.Version()
ke pertanyaan Anda? Saya baru saja menginstal versi 64bitrJava
menggunakan metode yang tepat Anda jelaskan dalam pertanyaan Anda. Dugaan saya adalah bahwa versi R Anda adalah 32 bit.Program Files
atauProgram Files (x86)
. Tambahkan path ke windows seperti kata jawaban yang diterima. JikaProgram Files (x86)
, itu berarti Anda memiliki versi 32-bit, ikuti tautan sites.google.com/site/rforfishandwildlifegrads/home/week_2/… .Jawaban:
Pembaruan (Juli 2018):
Versi CRAN terbaru dari rJava akan menemukan
jvm.dll
secara otomatis, tanpa secara manual mengaturPATH
atauJAVA_HOME
. Namun perhatikan bahwa:C:\Program files\Java\
dan yang terakhir diC:\Program Files (x86)\Java\
sehingga mereka tidak konflik.Pada Java versi 9, dukungan untuk x86 (win32) telah dihentikan. Karenanya pengaturan multi-arch yang berfungsi adalah menginstal jdk-8u172-windows-i586.exe dan jdk-8u172-windows-x64.exe dan kemudian paket biner dari CRAN:
Paket biner dari CRAN harus mengambil sendiri jvm. Hanya ahli : untuk membangun rJava dari sumber, Anda memerlukan
--merge-multiarch
tanda:Server lama:
(Catatan: banyak orang di jawaban / komentar lain mengatakan untuk menghapus JAVA_HOME, jadi pertimbangkan itu. Saya belum meninjau kembali masalah ini baru-baru ini untuk mengetahui apakah semua langkah di bawah masih diperlukan.)
Berikut adalah beberapa saran cepat tentang cara bangun dan berjalan dengan R + rJava pada Windows 7 64bit. Ada beberapa kemungkinan, tetapi sebagian besar memiliki kekurangan fatal. Inilah yang bekerja untuk saya:
Tambahkan jvm.dll ke PATH Anda
rJava, R <-> Java bridge, akan membutuhkan jvm.dll, tetapi R akan kesulitan menemukan DLL itu. Itu berada di folder seperti
atau
Di mana pun Anda berada, tambahkan direktori itu ke variabel PATH windows Anda. (Windows -> "Path" -> "Edit variabel lingkungan ke akun Anda" -> PATH -> edit nilainya.)
Anda mungkin sudah memiliki Java di PATH Anda. Jika demikian, Anda harus menemukan direktori klien / server di direktori "home" Java yang sama dengan yang sudah ada di PATH Anda.
Agar aman, pastikan arsitektur Anda cocok. Jika Anda memiliki Java
Program Files
, itu adalah 64-bit, jadi Anda harus menjalankan R64. Jika Anda memiliki JavaProgram Files (x86)
, itu 32-bit, jadi Anda menggunakan R. 32-bit polosLuncurkan ulang R dari Menu Windows
Jika R sedang berjalan, berhenti.
Dari Start Menu, Start R / RGUI, RStudio. Ini sangat penting, untuk membuat R mengambil perubahan PATH Anda.
Instal rJava 0.9.2.
Versi sebelumnya tidak berfungsi! Cermin tidak mutakhir, jadi buka sumbernya di www.rforge.net: http://www.rforge.net/rJava/files/ . Perhatikan saran di sana
Itu hampir benar. Ini sebenarnya berfungsi:
install.packages('rJava', .libPaths()[1], 'http://www.rforge.net/')
Saksikan tanda baca! ".LibPaths () [1]" yang misterius, hanya memberitahu R untuk menginstal paket di direktori perpustakaan utama. Untuk beberapa alasan, membiarkan nilai kosong tidak berfungsi, meskipun seharusnya default.
sumber
install.packages('rJava', repos='http://www.rforge.net/')
....\jre\bin\server
ke jalur memperbaikinya untuk sayaMembuat rJava bekerja sangat bergantung pada konfigurasi komputer Anda:
Jika Anda menggunakan versi 64bit pastikan, bahwa Anda tidak menetapkan JAVA_HOME sebagai variabel enviorment. Jika variabel ini disetel, rJava tidak akan berfungsi karena alasan apa pun (setidaknya untuk saya). Anda dapat memeriksa dengan mudah dalam R apakah JAVA_HOME diatur dengan
Jika Anda perlu memiliki set JAVA_HOME (mis. Anda membutuhkannya untuk maven atau yang lainnya), Anda dapat menonaktifkannya dalam sesi-R Anda dengan kode berikut sebelum memuat rJava:
Ini harus melakukan trik dalam banyak kasus. Selanjutnya ini akan memperbaiki masalah Menggunakan paket rJava pada Win7 64 bit dengan R juga. Saya meminjam ide unetting variabel enviorment dari R: rJava menginstal paket gagal .
sumber
Bagi saya, pengaturan JAVA_HOME melakukan trik (bukannya tidak menyetel , seperti pada jawaban lain yang diberikan di sini) Baik di Windows:
Atau di dalam R:
Tapi apa yang mungkin merupakan solusi terbaik (karena rJava 0.9-4) diganti dalam pengaturan Windows JAVA_HOME sama sekali:
sumber
options(java.home="my\\path\\to\\jre")
bekerja, ketika semuanya gagal, termasuk pengaturan lingkungan PATHoptions(java.home="C:\\Program Files\\Java\\jdk1.8.0_144\\jre")
. Jika Anda memiliki jdk1.8.Pertanyaan terakhir memiliki jawaban yang mudah:
Artinya saya menjalankan R64. Jika saya menjalankan 32 bit R itu akan mengembalikan 4. Hanya karena Anda menjalankan OS 64 bit tidak berarti Anda akan menjalankan 64 bit R, dan dari pesan kesalahan itu muncul Anda tidak.
EDIT: Jika paket memiliki binari, maka mereka berada di direktori yang terpisah. Spesifikasinya akan tergantung pada OS. Perhatikan bahwa terjadi kesalahan LoadLibrary Anda ketika mencoba untuk menemukan dll dalam
...rJava/libs/x64/...
Pada sistem MacOS saya ... rJava / libs / ... `folder memiliki 3 subdirektori: i386, ppc, dan x86_64. (File ppc jelas bagasi tidak berguna.)sumber
rJava
paket. Itu sebabnya saya sangat bingung tentang pesan kesalahan, karena tampaknya kebalikan dari apa yang terjadi.Maaf untuk necro. Saya juga mengalami masalah yang sama dan menemukan bahwa
rJava
mengharapkanJAVA_HOME
untuk menunjuk ke JRE. Jika Anda telah menginstal JDK, kemungkinanJAVA_HOME
poin Anda ke JDK. Solusi cepat saya:sumber
Saya mengalami masalah menentukan paket Java yang diinstal ketika saya mengalami masalah ini, karena jawaban sebelumnya tidak benar-benar bekerja untuk saya. Untuk mengatasinya, saya mengetik:
dan kemudian tekan tab dan dua direktori yang disarankan adalah "jre1.8.0_31 /" dan "jre7 /"
Jre7 tidak menyelesaikan masalah saya, tetapi jre1.8.0_31 / berhasil. Jawaban akhir dijalankan (sebelum perpustakaan (rJava)):
Saya menggunakan Windows 8.1 64-bit Semoga ini bisa membantu orang lain.
Memperbarui:
Periksa versi Anda untuk menentukan X apa yang seharusnya (milik saya telah berubah beberapa kali sejak posting ini):
sumber
Saya memiliki masalah terkait dengan rJava. Itu akan memuat tetapi paket yang tergantung padanya, tidak mau memuat.
Pengguna dapat membuang banyak waktu dengan jvm.dll dan PATH dan JAVA_HOME ketika perbaikan sebenarnya adalah memaksa installer untuk melupakan i386. Gunakan opsi untuk install.packages. (Ini juga berfungsi ketika pustaka drat digunakan. (kredit diberikan ke Dason)
Anda juga dapat memodifikasi hanya jalur pengguna Anda dengan perintah win seperti ini:
sumber
Saya harus memiliki JRE 32 bit yang tersedia untuk browser saya, tetapi JRE 64 bit untuk R dan rJava. JRE 32 bit diinstal di lokasi default. Setelah beberapa eksperimen, saya menemukan bahwa saya hanya diperlukan satu dari misterbee ini saran untuk mendapatkan rJava (versi 0,9-6 ) bekerja untuk saya. Yang saya lakukan adalah menambahkan path ke instalasi java 64 bit saya:
ke atas variabel lingkungan jalur saya (jalur Anda kemungkinan akan berbeda) dan hapus JAVA_HOME saya seperti yang disarankan user2161065 . Saya menempatkan ini tepat di depan entri
yang dimasukkan oleh pemasang Oracle di atas jalan dan menunjuk ke beberapa symlink ke JRE 32 bit. Dengan menambahkan entri ke 64 bit jvm.dll, sepertinya rJava dapat menemukan apa yang dibutuhkannya.
sumber
Saya pikir ini adalah pembaruan. Saya tidak dapat menginstal rJava (di Windows) sampai saya menginstal JDK, karena Javac tidak ditemukan dan javac tidak berfungsi di command prompt windows . Pesan yang saya terima adalah
JDK termasuk JRE, dan menurut https://cran.r-project.org/web/packages/rJava/index.html versi saat ini (0,9-7 diterbitkan 2015-Jul-29) dari rJava
Jadi itulah Anda: jika rJava tidak akan menginstal karena tidak dapat menemukan javac, dan Anda telah menginstal JRE, maka coba JDK. Juga, pastikan itu
JAVA_HOME
menunjuk ke JDK dan bukan JRE.sumber
Saya memecahkan masalah dengan menghapus instalan perangkat lunak Java yang tampaknya berlebihan dari mesin windows 7 x64 saya. Saya mencapai ini dengan terlebih dahulu menghapus semua aplikasi Java dan kemudian menginstal versi Java yang baru . (Kemudian saya menunjuk R 3.4.3 x86_64-w64-mingw32 ke jalur Java , hanya untuk menyebutkan meskipun saya tidak berpikir ini adalah masalah sebenarnya.) Hari ini hanya Java 8 Pembaruan 161 (64-bit) 8.0.1610.12 yang tersisa kemudian. Setelah ini,
install.packages("rJava"); library(rJava)
berhasil dengan sempurna.sumber
Ini merupakan tindak lanjut dari Pembaruan (Juli 2018). Saya menggunakan 64 bit Windows 10 tetapi saya siap untuk membangun paket r dari source untuk 32 dan 64 bit dengan Rtools. 64 bit jdk saya adalah jdk-11.0.2. Ketika saya bisa, saya melakukan segalanya di RStudio. Pada Maret 2019, rjava diuji dengan <= jdk11, lihat masalah github # 157 .
FYI, konsol scripting rstudio tidak suka koma ganda ... tapi berhasil!
sumber
Catatan: jdk1.8.0_201 dan jre1.8.0_201 akan diubah tergantung pada versi Java development kit dan Java
Untuk memeriksa instalasi, buka CMD \ Jenis javac \ Tekan Enter dan Ketik java \ tekan enter Ini akan ditampilkan
Di RStudio dijalankan
catatan: jdk1.8.0_201 akan diubah tergantung pada versi Java development kit
Sekarang Anda dapat menginstal dan memuat paket rJava tanpa masalah.
sumber