无法在 R (ubuntu 18.04) 中安装 rJava

Sal*_*que 8 java r rstudio 18.04

从 Ubuntu 16 升级到 18.4 后,我无法在 R 中安装 rJava 包。

我读过其他类似的帖子,但我没有解决我的问题。如果我install.packages("rJava")在 R 上运行,结果是这样的:

Error: package or namespace load failed for ‘rJava’:
.onLoad failed in loadNamespace() for 'rJava', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/home/salvatore/R/x86_64-pc-linux-gnu-library/3.5/rJava/libs/rJava.so':
  libjvm.so: cannot open shared object file: No such file or directory
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/home/salvatore/R/x86_64-pc-linux-gnu-library/3.5/rJava’
Run Code Online (Sandbox Code Playgroud)

当我运行时sudo R CMD javareconf

Java interpreter : /usr/lib/jvm/java-8-oracle/jre/bin/java
Java version     : 1.8.0_181
Java home path   : /usr/lib/jvm/java-8-oracle
Java compiler    : /usr/lib/jvm/java-8-oracle/bin/javac
Java headers gen.: /usr/lib/jvm/java-8-oracle/bin/javah
Java archive tool: /usr/lib/jvm/java-8-oracle/bin/jar

trying to compile and link a JNI program 
detected JNI cpp flags    : -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
detected JNI linker flags : -L$(JAVA_HOME)/jre/lib/amd64/server -ljvm
gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG -I/usr/lib/jvm/java-8-oracle/include -I/usr/lib/jvm/java-8-oracle/include/linux     -fpic  -g -O2 -fdebug-prefix-map=/build/r-base-oNcpyf/r-base-3.5.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g  -c conftest.c -o conftest.o
gcc -std=gnu99 -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o conftest.so conftest.o -L/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server -ljvm -L/usr/lib/R/lib -lR


JAVA_HOME        : /usr/lib/jvm/java-8-oracle
Java library path: $(JAVA_HOME)/jre/lib/amd64/server
JNI cpp flags    : -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
JNI linker flags : -L$(JAVA_HOME)/jre/lib/amd64/server -ljvm
Updating Java configuration in /usr/lib/R
Done.
Run Code Online (Sandbox Code Playgroud)

欢迎任何帮助。

N0r*_*ert 6

在全新安装 Ubuntu 18.04 LTS 时,我执行了以下操作

sudo apt-get install r-base-dev default-jdk
Run Code Online (Sandbox Code Playgroud)

(所以我有来自官方存储库的 R 3.4)。

然后R在 RStudio 1.1.456 会话中或中:

install.packages('rJava')
Run Code Online (Sandbox Code Playgroud)

结束于

* DONE (rJava)
Run Code Online (Sandbox Code Playgroud)

注意:我使用 Bionic 存储库中的默认 OpenJDK 11 -

$ update-java-alternatives -l
java-1.11.0-openjdk-amd64      1101      /usr/lib/jvm/java-1.11.0-openjdk-amd64
Run Code Online (Sandbox Code Playgroud)


小智 5

就我而言,我还必须使用:sudo R CMD javareconf使其工作。