2011-06-27 37 views
6

Hôm qua tôi đã xóa R2.11 khỏi hệ thống của mình (Win7, 64bit), vì tôi đang làm việc trên R2.13.Sự cố khi tải rJava

Kể từ đó tôi nhận được một thông báo lỗi:

> require(rJava) 
Lade nötiges Paket: rJava 
Error : .onLoad in loadNamespace() fehlgechlagen, Details: 
    Aufruf: rJava 
    Fehler: inDL(x, as.logical(local), as.logical(now), ...) 

tôi đã cố gắng xác định PATH, kể từ khi tôi tìm thấy trên internet rằng nó có thể có cái gì để làm với jvm.dll:

c:\Rtools\bin; 
c:\Rtools\perl\bin; 
c:\Rtools\MinGW\bin; 
c:\Rtools\MinGW64\bin; 
C:\Windows\system32; 
%R_HOME%\bin; 
C:\Program Files\R\R-2.13.0\bin; 
C:\Program Files\Java\jre6\bin\server 

Tuy nhiên Tôi không thể giải quyết vấn đề ... Tôi cũng không thể chạy R từ dòng lệnh giành chiến thắng (chỉ cần nhập "R"?)

Bất kỳ đề xuất nào?

+0

Bạn không thể tải R từ dòng lệnh có nghĩa là đường dẫn của bạn cho R bị rối tung lên. Bạn có thể cài đặt lại 2.13 hoặc tự sửa chữa đường dẫn. Bạn sẽ cần điều này để chạy R nguyên bản. Nếu bạn chạy nó từ một IDE, có những khả năng khác. Bạn đang sử dụng một IDE? Nếu vậy thì cái nào? –

+0

Hầu hết thời gian tôi đang sử dụng RStudio. Nhưng tôi muốn sửa chữa các đường dẫn ... Hiện tại tôi đang cố sửa chúng, nhưng không thành công, ... – EDi

+0

Vấn đề với việc tải R từ bàn điều khiển là cố định (đường dẫn: "C: \ Program Files \ R \ R-2.13.0 \ bin \ x64 "). Nhưng rJava vẫn không tải. – EDi

Trả lời

3

Cuối cùng tôi đã giải quyết được sự cố:

Có vẻ như rJava tìm kiếm jvm.dll trong ~ \ Java \ jre6 \ bin \ client. Tuy nhiên thư mục này không tồn tại trên hệ thống của tôi (jvm.dll nằm trong ~ \ bin \ server).

Vì vậy, tôi vừa tạo một bản sao của jvm.dll trong một thư mục ~ \ bin \ client \ và thêm vào đường dẫn này.

Bây giờ mọi thứ hoạt động tốt!

+1

Tôi vẫn nhận được một thất bại với Java 7. Tôi tạo ra một "khách hàng" thư mục (không có một ở đó), sao chép jvm.dll từ "máy chủ" và thêm jre7 \ bin \ khách hàng vào đường dẫn. Tuy nhiên, "% 1 không phải là một ứng dụng Win32 hợp lệ" và không tải được rJava.dll " – bshor

+0

bạn có cài đặt JDK chút nào không? – userJT

20

Dưới đây là một số lời khuyên nhanh về cách thức hoạt động với R + rJava trên Windows 7 64bit. Có một số khả năng, nhưng hầu hết có những sai sót nghiêm trọng. Đây là những gì làm việc cho tôi:

Thêm jvm.dll để PATH của bạn

rJava, R < -> cầu Java, sẽ cần jvm.dll, nhưng R sẽ có khó khăn khi tìm DLL đó. Nó nằm trong một thư mục như

C:\Program Files\Java\jdk1.6.0_25\jre\bin\server 

hoặc

C:\Program Files\Java\jre6\jre\bin\client 

Bất cứ nơi nào bạn có, thêm thư mục đó để biến cửa sổ PATH của bạn. (Windows -> "Đường dẫn" -> "Chỉnh sửa biến môi trường cho tài khoản của bạn" -> PATH -> chỉnh sửa giá trị.)

Có thể bạn đã có Java trên PATH của mình. Nếu vậy bạn nên tìm thư mục máy khách/máy chủ trong cùng một thư mục "home" của Java giống như thư mục đã có trong PATH của bạn.

Để an toàn, hãy đảm bảo kiến ​​trúc của bạn phù hợp.Nếu bạn có Java ở Program Files, nó là 64 bit, vì vậy bạn nên chạy R64. Nếu bạn có Java trong Program Files (x86), đó là 32-bit, vì vậy bạn sử dụng đồng bằng 32-bit R.

Khởi động lại R từ Menu của Windows

Nếu R đang chạy, bỏ thuốc lá.

Từ trình đơn Start, Start R/RGUI, RStudio. Điều này là rất quan trọng, để làm cho R nhận thay đổi PATH của bạn.

Cài đặt rJava 0.9.2.

Các phiên bản trước đó không hoạt động! Gương không được cập nhật, vì vậy hãy đi đến nguồn tại www.rforge.net: http://www.rforge.net/rJava/files/. Lưu ý lời khuyên có

“Please use 

`install.packages('rJava',,'http://www.rforge.net/')` 

to install.” 

Điều đó gần như chính xác. Điều này thực sự hoạt động:

install.packages('rJava', .libPaths()[1], 'http://www.rforge.net/')

Xem dấu chấm câu! Bí ẩn “.libPaths() [1]” chỉ yêu cầu R cài đặt gói trong thư mục thư viện chính. Vì một lý do nào đó, để trống giá trị không hoạt động, mặc dù giá trị phải mặc định.

+0

Tuyệt vời!Tks +1 – Murta

+0

Cảm ơn bạn đã hướng dẫn. công trình của nó cho tôi :) +1 – user2851376

0

Trong trường hợp của tôi, việc cài đặt phiên bản Java phù hợp đã khắc phục được sự cố của tôi. Tôi đã cài đặt java bit 64x, vì tôi sử dụng phiên bản 64 bit bit R.

1

Vấn đề của tôi đã được giải quyết bằng cách

install.packages("SqlRender",INSTALL_opts="--no-multiarch") 

Đó là một gói phần mềm đó phụ thuộc vào rJava và tất cả các lời khuyên đã nói với tôi để sửa chữa cài đặt Java. Nhưng giải pháp là sử dụng tùy chọn cài đặt đơn giản là quên về kiến ​​trúc i386. (Cũng làm việc với thư viện drat và các gói không phải từ cran)

0

Tôi giải quyết nó bằng cách làm theo các bước sau

  • thiết lập môi trường của tôi Sys.setenv(JAVA_HOME='C:\\Program Files (x86)\\Java\\jre6')
  • thủ cài đặt rJava gói từ cài đặt gói (ngay cả điều này nên làm việc: install.packages('rJava', .libPaths()[1], 'http://www.rforge.net/'))
  • thư viện (rJava)
-1
  • Trong loại RStudio .LibPaths()
  • Điều này sẽ cung cấp cho bạn một con đường trong hệ thống cửa sổ nơi thư viện của bạn được đặt
  • Đến đó và xóa rJava. Nếu nó đang được sử dụng bởi các ứng dụng của Java, hãy tiêu diệt tất cả các chương trình Java trong Trình quản lý Tác vụ.

  • Tới máy tính và tài sản, click vào biến môi trường thay đổi

  • Sửa JAVA_HOME và tất cả các đường dẫn liên quan đến Java để đường dẫn nơi cài đặt mới nhất của Java của bạn có vị trí và tiết kiệm.