41

EclipseでRコンソールを実行しようとすると、次のエラーが発生しました。

....Please make sure that R package 'rj' (1.1 or compatible) is installed...

だから私はそれを次のようにRコンソールにインストールしようとしました:

install.packages(c("rj", "rj.gd"), repos="http://download.walware.de/rj-1.1")

そしてこのエラーが発生しました:

 ** testing if installed package can be loaded
 Error : .onLoad failed in loadNamespace() for 'rj.gd', details:
 call: dyn.load(file, DLLpath = DLLpath, ...)
 error: unable to load shared object '/home/alex/R/x86_64-pc-linux-gnu-library/2.15/rj.gd/libs/rj.gd.so':
 libjvm.so: cannot open shared object file: No such file or directory
 Error: loading failed
 Execution halted
 ERROR: loading failed

を使用してrJavaをインストールするinstall.packages("rJava")と、同様のエラーが発生することがわかりました。

** testing if installed package can be loaded
Error : .onLoad failed in loadNamespace() for 'rJava', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/home/alex/R/x86_64-pc-linux-gnu-library/2.15/rJava/libs/rJava.so':
libjvm.so: cannot open shared object file: No such file or directory
Error: loading failed
Execution halted
ERROR: loading failed

実行するsudo R CMD javareconfと、次の出力が得られました。

Java interpreter : /usr/bin/java
Java version     : 1.7.0
Java home path   : /usr/lib/jvm/java-7-oracle/jre
Java compiler    : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar
NOTE: Your JVM has a bogus java.library.path system property!
Trying a heuristic via sun.boot.library.path to find jvm library...
Java library path: $(JAVA_HOME)/lib/amd64:$(JAVA_HOME)/lib/amd64/server
JNI linker flags : -L$(JAVA_HOME)/lib/amd64 -L$(JAVA_HOME)/lib/amd64/server -ljvm
JNI cpp flags    : -I$(JAVA_HOME)/../include -I$(JAVA_HOME)/../include/linux

Updating Java configuration in /etc/R
Done.

ちなみに、私の構成は次のとおりです。

Ubuntu 11.10 64bit
Eclipse 3.7
Oracle-1.7-jdk
R version 2.15.1 
4

11 に答える 11

80

Linux(Ubuntu)ユーザーの場合:oracle-java(7/8)がインストールされている場合。この場所/usr/lib/jvmにあり、sudoアクセスが必要です。

/etc/ld.so.conf.d/java.conf次のエントリを使用してファイルを作成します。

/usr/lib/jvm/java-8-oracle/jre/lib/amd64
/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server

(Javaのバージョンに応じて、java-8-oracleをjava-7-oracleに置き換えます)

それで:

sudo ldconfig

RStudioを再起動してから、rJavaパッケージをインストールします。

また

また、別の方法はLD_LIBRARY_PATH、コマンドから取得したJavaライブラリパスの値を使用してエクスポートし、R CMD javareconf -e実行することです。install.packages

于 2014-09-19T11:25:52.390 に答える
31

同様の問題が発生し、実行することで解決できました

R CMD javareconf -e

R CMDjavareconf-eの出力

Java interpreter : /export/apps/jdk/JDK-1_6_0_27/jre/bin/java
Java version     : 1.6.0_27
Java home path   : /export/apps/jdk/JDK-1_6_0_27
Java compiler    : /export/apps/jdk/JDK-1_6_0_27/bin/javac
Java headers gen.: /export/apps/jdk/JDK-1_6_0_27/bin/javah
Java archive tool: /export/apps/jdk/JDK-1_6_0_27/bin/jar
Java library path: /export/apps/jdk/JDK-1_6_0_27/jre/lib/amd64/server:/export/apps/jdk/JDK-1_6_0_27/jre/lib/amd64:/export/apps/jdk/JDK-1_6_0_27/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
JNI linker flags : -L/export/apps/jdk/JDK-1_6_0_27/jre/lib/amd64/server -L/export/apps/jdk/JDK-1_6_0_27/jre/lib/amd64 -L/export/apps/jdk/JDK-1_6_0_27/jre/../lib/amd64 -L/usr/java/packages/lib/amd64 -L/usr/lib64 -L/lib64 -L/lib -L/usr/lib -ljvm
JNI cpp flags    : -I/export/apps/jdk/JDK-1_6_0_27/include -I/export/apps/jdk/JDK-1_6_0_27/include/linux

The following Java variables have been exported:
JAVA_HOME JAVA JAVAC JAVAH JAR JAVA_LIBS JAVA_CPPFLAGS JAVA_LD_LIBRARY_PATH
Running: /bin/bash

上記の出力LD_LIBRARY_PATHと同じ値に設定した後。JAVA_LD_LIBRARY_PATHrjをインストールできました。

export LD_LIBRARY_PATH=/export/apps/jdk/JDK-1_6_0_27/jre/lib/amd64/server:/export/apps/jdk/JDK-1_6_0_27/jre/lib/amd64:/export/apps/jdk/JDK-1_6_0_27/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib

Rを実行してから、次の方法でrjをインストールします。

install.packages(c("rj", "rj.gd"), repos="http://download.walware.de/rj-1.1")
于 2012-11-19T00:10:55.527 に答える
21

私は解決策を見つけました:

export LD_LIBRARY_PATH=/usr/lib/jvm/java-7-oracle/lib/amd64:/usr/lib/jvm/java-7-oracle/jre/lib/amd64/server

それから

sudo R CMD javareconf

注:パス(java-7-oracle)は、Javaのインストールに基づいて更新する必要があります。

于 2012-10-15T02:18:10.723 に答える
10

私は次のことをしました、そしてそれは私のために働きました:

export LD_LIBRARY_PATH=$JAVA_LD_LIBRARY_PATH
sudo R CMD javareconf

その時もRを再起動しなければなりませんでした。

于 2015-09-26T07:21:08.103 に答える
3

数年後、OracleのJavaへの移行が必要なパッケージのインストールに失敗した後、Rから報告されたエラーを検索した後、この質問にたどり着きました。

それを修正するために私がしなければならなかったのは:

$ sudo R CMD javareconf

于 2017-06-11T21:11:34.820 に答える
2

または、ライブラリをRに設定しますか?

このコマンドをRで実行しました。

Sys.setenv(JAVA_HOME='/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server')

(「/ usr / lib / jvm / java-7-openjdk-amd64 / jre / lib / amd64 / server」を、「sudo R CMDjavareconf」を実行しているJavaライブラリパスに置き換えます)

最もエレガントな解決策ではないかもしれませんが、それは私にとってはうまくいきました!

于 2015-03-24T12:12:45.023 に答える
1

修正できるjdkがインストールされていませんでした。 sudo apt-get install jdk-* その後、sudo R CMD javareconf以前は常にエラーメッセージが表示されていたjdkを実行できました。すべてが正しく設定され、必要に応じて手動でtweekを実行する必要はありませんでした。その後、パッケージのインストールはRでスムーズに実行されました(再起動が必要です)。

于 2017-02-07T09:19:13.517 に答える
0

欠落しているエラーに直面した場合は、の標準構成との標準構成からlimjvm.so正しいものが選択されていることを確認してください。ldpaths/etc/R/usr/lib/R/etc

于 2013-11-21T08:50:14.587 に答える
0

これにより、LD_LIBRARY_PATHの問題が修正されます(Linux、Debian 7.1.0、tc-shell、Rバージョン3.0.2)。

この行を.cshrcに追加します。

setenv LD_LIBRARY_PATH $ JAVA_HOME / jre / lib / amd64:$ JAVA_HOME / jre / lib / amd64 / server

このコマンドを〜/.loginに追加するだけでは不十分でした。環境変数LD_LIBRARY_PATHは、新しいxtermではまだ認識されていませんでした:echo $ LD_LIBRARY_PATH:LD_LIBRARY_PATH:未定義の変数。(なぜ??)

不思議なことに、スーパーユーザーとしてRを起動したとき、libjvm.soを見つけることに問題はありませんでした。

于 2014-02-24T10:14:51.067 に答える
0

sudoでRを実行してから、を実行することでこれを修正しましたinstall.packages('rJava`)

于 2017-04-07T15:16:55.520 に答える
0

rJava上記のどれも私にはうまくいきませんでした。問題なくLinuxUbuntuにインストールされた唯一の解決策RScriptは、ベースRのインストール後にコマンドを渡すことでした。

$ sudo Rscript -e 'install.packages("rJava", repos = "http://cran.r-project.org/")'
于 2017-04-18T19:32:44.507 に答える