R:rJavaパッケージのインストールが失敗する


116

install.packages("rJava")コマンドを使用してrJavaをインストールすると、次のエラーが発生します。

checking Java support in R... present:
interpreter : '/usr/bin/java'
archiver    : '/usr/bin/jar'
compiler    : '/usr/bin/javac'
header prep.: '/usr/bin/javah'
cpp flags   : '-I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include -I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include/linux'
java libs   : '-L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64/server -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64 -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../lib/amd64 -L -L/usr/java/packages/lib/amd64 -L/usr/lib64 -L/lib64 -L/lib -L/usr/lib -ljvm'
checking whether JNI programs can be compiled... yes
checking JNI data types... configure: error: One or more JNI types differ from the corresponding native type. You may need to use non-standard compiler flags or a different compiler in order to fix this.
ERROR: configuration failed for package ‘rJava’

Java JDKがインストールされていjava -versionて、以下が返されます。

$ java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)

エラーをグーグルで検索すると、他の人が同じ問題を抱えているが、私が行った「JREだけでなくJDK全体をインストールする」以外の解決策を見つけていないことがわかります。

私が読んだもう1つのことは、実行することでしたsudo R CMD javareconf

私の問題は何ですか?

[[編集]] この問題が発生してから数か月になります。以下に投稿した回答に示されているように、最初はJavaパスを編集してこれを解決しました。最近、新しいUbuntuのインストールで同じ問題に遭遇しました。Dirkの推奨事項であるapt-getを使用してrJavaパッケージをインストールしてみました。それは完全に機能しました。最初に理解できなかったことは、Ubuntuのapt-getメソッドを使用してパッケージをインストールすることは、Rの内部でinstall.packages()を使用して同じパッケージをロードすることとは根本的に異なることです。 。


答えはまた、ここで見つけることができます- stackoverflow.com/questions/12872699/...
Tejusプラサド

1
自分の将来の自己(ここで疑いもなく自分自身がこの質問に戻ってきたときのために)にコメントを付けるだけで、apt-getインストールをrstudio-serverに認識させるためにsudo R CMD javareconfを実行する必要がありました。
Jim Crozier

2
9年後、これは終わりのない問題です。私は、Rを新しくインストールするたびにこの問題に遭遇します。何か変更があります。OS、Rstudioバージョン、Rバージョン、javaバージョン、jdk、jre、jvm ...そして、それは常にそれを解決するための新しいソリューションです。このたわごとがなければ、Excelファイルを読み取ることができないのはばかげています。
rmf

@rmf現在、Javaを必要としない多数のExcel読み取りパッケージがあります。単純な読み取りには好きですreadxlが、Excelに書き戻すには好きopenxlsxです。どちらもrJavaを必要としません。
JD Long

回答:


114

しないだろう

apt-get install r-cran-rjava

簡単になりましたか?あなたはuseRで私に尋ねたかもしれません:)


3
UbuntuとDebianのポイントは、そもそもグーグルする必要はないということです。適切なパッケージを使用して「動作する」はずです。生活を楽にして、できる限りパッケージを使用してください。UbuntuのJavaパッケージも使用したと思いますか?
Dirk Eddelbuettel、2010

16
ダーク、あなたはこれらの質問をします。私が一体何をしたのか、私には何の考えもないのです。思い出すと、apt-getを使用してJavaをインストールするのに問題があったため、ソースからビルドしましたが、それがおそらく私の問題の原因(意図的にすべての駄洒落)です。もちろん、それは単に悪いカルマかもしれません。
JD Long

2
私はR 2.15.3 ubuntu 12.04.2 64ビットを使用しています。update.packages()私がいるとき、私はがあることに気づきrJava updateます。R内からのインストールは失敗します。Iときにapt-get install r-cran-rjava利用可能な更新はありません。なぜこうなった?
ECII 2013年

1
@DirkEddelbuettel、私のRed Hatでは「sudo yum install r-cran-rjava」が機能しません。ロードされたプラグイン:rhnpluginと言うこのシステムはRHNクラシックまたはRHNサテライトからアップデートを受信して​​います。インストールプロセスのセットアップ使用可能なパッケージr-cran-rjavaがありません。
BigDataScientist 2014年

1
@DirkEddelbuettel、「それはうまくいくはず」のアプローチは私には素晴らしいように聞こえますが、r-cran-xにリストされているパッケージが非常に多くあるという事実が、人々が「通常の」Rの方法(install.packages)を使用する理由です。さらに、私はちょうどクランを通じてそれを行うことについてあなたの助言を取りました、それはR 3.xが現在主流であるので実際には役に立たない一方で、r-cran-のパッケージは明らかにR 3.xの前にある
Richard

77

私の問題は私のJAVA_HOME環境変数の問題であることがわかりました。はい、衝撃的です。私の最初の設定PATHとはJAVA_HOME、このように見えました:

export JAVA_HOME=/usr/lib/jvm/java-6-sun
export PATH=$PATH:$JAVA_HOME/bin

追加した/jreので、次のようになります。

export JAVA_HOME=/usr/lib/jvm/java-6-sun/jre
export PATH=$PATH:$JAVA_HOME/bin

Javaのすべてのものがなくて/jreも正常に動作するように見えましたが、rJavaはそうではありませんでした。奇数。


5
質問を作成して「スタックオーバーフロー」の本当の意味を守る->無限ループに答える---好きです。
DrewConway、2010

10
ありがとう。今後のGoogleユーザーがRの質問への回答を見つけられるように、少し頑張ってください。
JD Long

11
JAVA_HOMEとJava実行可能ファイルへのパスを変更した後、を実行する必要があることがわかりましたR CMD javareconf。それ以外の場合は、rJavaのインストールプロセスがまだなどのヘッダ、ライブラリ、古い場所を見ている
カルロスMacasaet

1
何もうまくいきませんでした。R Shinyアプリケーションを提供しているRed Hat Linuxサーバーに「rJava」をインストールしようとしています。次のエラーが表示されます:パッケージ 'rJava'の構成に失敗しました* '/ usr / lib64 / R / library / rJava'を削除しています。エラーを解消するプロセスで、次の手順を実行しました。1. Linuxで更新されたJava sudo yum install java-1.7.0-openjdk 2. HOMEおよびPATHエクスポートJAVA_HOME = / usr / lib / jvm / java-1.7.0-ibm-1.7.0.6.1.x86_64 / jreを設定しますexport PATH = $ PATH:$ JAVA_HOME / bin 3.再構成されたJava sudo / usr / bin / R CMD javareconf
BigDataScientist

はい、動作し8-oracleます。代わりにバージョンを使用しました。
gunzapper

21

ありがとう-あなたの提案について$JAVA_HOME私を同様の解決策に導いてください:

prompt$ unset JAVA_HOME

Rを呼び出す前


1
unset JAVA_HOME(ドル記号なし)
Vladtn 2012

1
はい、これで問題が解決しました。理由を教えてください。ありがとう
MichaelZ

JAVA_HOMEの設定を解除し、CLASSPATH = $ CLASSPATH:/ usr / lib64 / R / share / java
42n4


14

それが私がそれを機能させる方法です:

Linux(Ubuntu 16.04)の場合

sudo apt-get install default-jre
sudo apt-get install default-jdk
sudo R CMD javareconf

R:

install.packages("rJava")

1
おかげで...私はrcdkと呼ばれるものをRにインストールする必要がありました。あなたの回避

本当に喜んでお手伝いします!
ジム・チェン

11

これは私にとってUbuntu 12.04とRバージョン3.0で動作しました

cd /usr/lib/jvm/java-6-sun-1.6.0.26/include

これはjni.hがあるディレクトリです

次に、別の必要なヘッダーファイルへのソフトリンクを作成します(次のJAVA_CPPFLAGSオプションに複数のディレクトリを含める方法を見つけるのが面倒です)。

sudo ln -s linux/jni_md.h .

最後に

sudo R CMD javareconf JAVA_CPPFLAGS=-I/usr/lib/jvm/java-6-sun-1.6.0.26/include

1
sudo R CMD javareconf JAVA_CPPFLAGS=-I/usr/lib/jvm/java-6-sun-1.6.0.26/include私のために問題を解決しました。
Moustafa Alzantot 2013

…そして、あなたの正確なディレクトリでないecho $JAVA_HOME場合に備えて追加しjava-6-sunます。
同型14年

7

以下は別の投稿に対する私の回答の1つです- エラー:インストールされたパッケージを今すぐロードできません
(これはこの質問にも関連しています)

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パッケージをインストールします。


1
私は成功の度合いが異なる複数のソリューションを試しましたが、これは私が遭遇した最初のソリューションで、弾力性があるように見えます(つまり、Rを起動するたびに同じ5つのステップを繰り返す必要はありません)。
SamWN、

4

AMD64でGentooの下でRを実行します。R 2.12.0にアップグレードしました

Rバージョン2.12.0(2010-10-15)Copyright(C)2010 R Foundation for Statistical Computing ISBN 3-900051-07-0 Platform:x86_64-pc-linux-gnu(64-bit)andそれらの厄介なメッセージが行きました離れて。

ヤンヴァンダーメール


2

openjdk-7- *をインストールしようとしましたが、それでもrJavaのインストールに問題がありました。コンピュータを再起動したところ、結局問題はありませんでした。

そう

sudo apt-get install openjdk-7-*


RESTART after installing java, then try to install package "rJava" in R

2

rJavaパッケージは/usr/lib/jvm/default-java/フォルダーを探します。ただし、デフォルトでは使用できません。このフォルダーには、システム用に構成されたデフォルトのJavaのシンボリックリンクがあります。

デフォルトのJavaをアクティブにするには、次のパッケージをインストールします。

sudo apt-get install default-jre default-jre-headless

ubuntu 17.04とCRAN R 3.4.1でテスト済み


2

私にとってうまくいったのは、JAVA_HOMEをファイルから変更することでした /usr/lib/R/etc/javaconf

まず、Javaのどのバージョンが有効になっているかを確認しましたsudo update-alternatives --config java。私の場合、それはjava-8-oracle

私はファイルを開いて/usr/lib/R/etc/javaconf置き換えましdefault-javajava-8-oracle

${JAVA_HOME=/usr/lib/jvm/default-java}

と取り換える :

${JAVA_HOME=/usr/lib/jvm/java-8-oracle}

その後 sudo R CMD javareconf

RStudioを再起動したところ、rJavaをインストールできました。


1

私がしていることはここにあります:

  1. /etc/apt/sources.listに、以下を追加します。

    deb http://ftp.de.debian.org/debian sid main

注:rjavaは最新バージョンである必要があります

2実行:sudo apt-get update sudo apt-get install r-cran-rjava

rjavaの古いバージョンを更新したら、rdffs_1.0.8をインストールできます。


1

私はそれをダウンロードして動作させました:https : //cran.r-project.org/src/contrib/rJava_0.9-8.tar.gzとコマンドR CMD install rJava_0.9-8.tar.gzを実行します


1

Windows 10を使用しているときに同じ問題に直面していました。次の手順を使用して問題を解決しました

  1. Javaをhttps://java.com/en/download/windows-64bit.jsp for 64-bit windows \ Install it からダウンロードします
  2. Java開発キットをhttps://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html for 64-bit windows からダウンロードしてインストールします\それをインストールします
  3. 次に、desktop \ Properties \ Advanced system settings \ Advanced \ Environment Variables \ Under System variablesでPath \ Click Edit \ Click on New \ Copy and paste path“ C:\ Program Files \ Java \ jdk1”を右クリックします。 .8.0_201 \ bin”および“ C:\ Program Files \ Java \ jre1.8.0_201 \ bin”(引用符なし)\ OK \ OK \ OK

:jdk1.8.0_201およびjre1.8.0_201は、Java開発キットおよびJavaのバージョンに応じて変更されます

  1. [環境変数]ウィンドウで、[ユーザー]の[ユーザー変数]に移動し、[新規]をクリックします\ PUT変数名を「JAVA_HOME」、変数値を「C:\ Program Files \ Java \ jdk1.8.0_201 \ bin」\ [OK]をクリックします

インストールを確認するには、CMD \ Type javac \ Press Enterを開き、java \ press enterと入力します。表示されます ここに画像の説明を入力してください

RStudioで実行

Sys.setenv(JAVA_HOME="C:\\Program Files\\Java\\jdk1.8.0_201")

:jdk1.8.0_201は、Java開発キットのバージョンに応じて変更されます

これで、問題なくrJavaパッケージをインストールしてロードできます。


0

問題は、rJavaがRStudioVersion 1.0.136)にインストールされないことでした。以下は私のために働きました(macOS Sierra version 10.12.6)(ここにあります):

ステップ-1:ここjavaforosx.dmgからダウンロードしてインストールする

ステップ-2:次に、RStudio内からコマンドを実行します。

install.packages("rJava", type = 'source')

-2

Ubuntu 16.04でも同様の問題が発生し、「default-java」という名前のフォルダーを作成/usr/lib/jvmしてにすべてのコンテンツをコピーすることで解決できました/usr/lib/jvm/java-8-oracle。JAVA_HOME環境変数を修正しても役に立たないことが判明したため、このソリューションを選択しました。


1
これにより、default-jreパッケージのインストールが中断されます。
グスタボガルシア
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.