124

コマンドを使用してrJavaをインストールするinstall.packages("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全体をインストールする」以外の解決策が見つからないことがわかります。

私が読んだもう一つのことはsudo R CMD javareconf、エラーなしで非常に幸せに実行される実行でした。

私の問題は何ですか?

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

4

18 に答える 18

122

しません

apt-get install r-cran-rjava

簡単になりましたか?useRで私に聞いてもらえたかもしれません!:)

于 2010-07-24T14:31:33.160 に答える
78

私の問題は私の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は動作しませんでした。奇数。

于 2010-07-22T18:15:21.913 に答える
26

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

Linuxの場合(Ubuntu 16.04および20.04が動作することが確認されています)

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

Rで:

install.packages("rJava")
于 2018-10-23T09:23:37.823 に答える
21

ありがとう-あなたの提案は$JAVA_HOME私を同様の解決策に導きます:

unset JAVA_HOME

Rを呼び出す前に。

于 2010-12-06T07:42:03.273 に答える
15

同じ問題が発生しましたが、以下のコマンドを実行した後に機能しました。

export JAVA_LIBS="$JAVA_LIBS -ldl"
R CMD javareconf

詳細については、 http://www-01.ibm.com/support/knowledgecenter/SSPT3X_3.0.0/com.ibm.swg.im.infosphere.biginsights.install.doc/doc/install_install_r.htmlを参照してください。

于 2015-03-05T05:59:25.893 に答える
11

これはUbuntu12.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
于 2013-06-25T16:16:03.330 に答える
6

以下は、別の投稿に対する私の回答の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パッケージをインストールします。

于 2015-12-02T13:25:20.210 に答える
4

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

Rバージョン2.12.0(2010-10-15)Copyright(C)2010 R Foundation for Statistics Computing ISBN 3-900051-07-0プラットフォーム:x86_64-pc-linux-gnu(64ビット)およびこれらの厄介なメッセージはあちらへ。

Jan Vandermeer

于 2010-11-02T18:34:16.500 に答える
2

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

それで

sudo apt-get install openjdk-7-*


RESTART after installing java, then try to install package "rJava" in R
于 2014-06-02T13:24:16.987 に答える
2

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

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

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

CRANR3.4.1を使用してubuntu17.04でテスト済み

于 2017-07-03T18:07:18.013 に答える
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をインストールできました。

于 2018-03-10T22:14:06.000 に答える
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を更新したら、rhdfs_1.0.8をインストールできます。

于 2013-12-19T13:45:46.603 に答える
1

https://cran.r-project.org/src/contrib/rJava_0.9-8.tar.gzをダウンロードし、コマンドR CMDinstallrJava_0.9-8.tar.gzを実行して動作させました。

于 2016-09-28T19:26:18.247 に答える
1

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

  1. https://java.com/en/download/windows-64bit.jspから64ビットWindows用のJavaをダウンロードします\インストールします
  2. https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlから64ビットWindows用のJava開発キットをダウンロードします\インストールします
  3. 次に、desktop \ Properties \ Advanced system settings \ Advanced \ Environment Variables\Systemvariablesの下の「ThisPC」アイコンを右クリックします。Path\ClickEdit \ Click New \ Copy and Paste path“ C:\ Program Files \ Java \ jdk1 .8.0_201 \ bin」および「C:\ ProgramFiles \ Java \ jre1.8.0_201 \ bin」(引用符なし)\ OK \ OK \ OK

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

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

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

RStudioで実行

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

:jdk1.8.0_201は、JavaDevelopmentKitのバージョンに応じて変更されます。

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

于 2019-01-16T09:28:37.650 に答える
0

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

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

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

install.packages("rJava", type = 'source')
于 2018-07-15T16:30:23.373 に答える
0

openjdk-srcArch Linuxでは、JNIパスを機能させるためにインストールする必要がありました。

言い換えると、これらはsudo R CMD javareconf正常に実行される前にインストールする必要があったパッケージです。

local/jdk-openjdk 14.0.2.u12-1
    OpenJDK Java 14 development kit
local/jre-openjdk 14.0.2.u12-1
    OpenJDK Java 14 full runtime environment
local/jre-openjdk-headless 14.0.2.u12-1
    OpenJDK Java 14 headless runtime environment
local/openjdk-src 14.0.2.u12-1
    OpenJDK Java 14 sources
于 2020-10-06T07:58:16.347 に答える
0

あなたがsudo特権を持っていて、パッケージマネージャーがこれを簡単にするUbuntuではないと仮定します-私は以前の回答のバリエーションを試し、nonUbuntuのDatabricksブログ(https://kb.databricks.com/r/install-rjava-rjdbc )でこの宝石を見つけました-libraries.html

  1. インストールされたJDK
sudo apt-get install openjdk-8-jdk
  1. libjvm.soへのパスを確認します。for me-->
cd /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64 
grep -r libjvm

出力:

Binary file server/libjvm.so matches <<<<<<<<
  1. javaconfigureを実行します
    sudo R CMD javareconf
  1. パッケージの以前のバージョンを削除し、RStudioのCRANミラーから「rJava」をインストールします

  2. RStudioを再起動します

  3. RStudioで、libjvm.soへのリンクを確認します

    dyn.load('/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so')
    library('rJava')
于 2021-09-21T19:06:03.610 に答える
-2

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

于 2016-07-31T11:36:20.913 に答える