Несколько дней назад я скачал установленную новую версию R:
R версия 3.5.0 (2018-04-23) - «Радость от игры» Copyright (C) 2018 R Foundation для платформы статистических вычислений: x86_64-apple-darwin15.6.0 (64-разрядная версия)
и новая версия RStudio:
Rstudio Версия 1.1.423
Однако, когда я попытался загрузить библиотеку rJava, я получил это сообщение об ошибке:
> library("rJava",
lib.loc="/Library/Frameworks/R.framework/Versions/3.5/Resources/library")
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
'/Library/Frameworks/R.framework/Versions/3.5/Resources/library/rJava/libs/
rJava.so':
dlopen(/Library/Frameworks/R.framework/Versions/3.5/Resources/library/
rJava/libs/rJava.so, 6): Library not loaded:
/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/lib/server/
libjvm.dylib
Referenced from:
/Library/Frameworks/R.framework/Versions/3.5/Resources/library/rJava/
libs/rJava.so
Reason: no suitable image found. Did find:
/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries/libjvm.dylib:
mach-o, but wrong architecture
/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries/libclient.dylib
: mach-o, but wrong architecture
Я использую Mac, и моя операционная система:
OS X Sierra 10.12.6.
Когда я увидел, что rJava не работает, я установил следующее обновление Java:
Java 8 обновление 171
и перезагрузил компьютер. Затем я попытался снова использовать rJava и coreNLP с тем же сообщением об ошибке.
Итак, я подумал, что, возможно, мне нужна более старая версия java и установленная java для macOS 2017-001, которая, очевидно, устанавливает старую среду выполнения Java 6 для macOS 10.13 High Sierra, macOS 10.12 Sierra, macOS 10.11 El Capitan, macOS 10.10 Yosemite , macOS 10.9 Mavericks, macOS 10.8 Mountain Lion и macOS 10.7 Lion.
Я получил эту версию от:
https://support.apple.com/kb/dl1572?locale=es_ES
После установки этого пакета я снова перезагрузил компьютер, открыл Rstudio и снова попытался загрузить rJava и coreNLP с тем же сообщением об ошибке. После поиска решения я нашел в Интернете предложение запустить следующую командную строку на терминале Mac:
sudo R CMD javareconf
Я выполнил команду и получил следующее сообщение об ошибке, касающееся файла jni.h :
MacBook-Air-de-Juan:~ juancarlos$ sudo R CMD javareconf
Password:
Java interpreter : /usr/bin/java
Java version : 1.6.0_65
Java home path : /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Java compiler : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar
trying to compile and link a JNI program
detected JNI cpp flags :
detected JNI linker flags : -
L/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Libraries -ljvm
clang -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -
I/usr/local/include -fPIC -Wall -g -O2 -c conftest.c -o conftest.o
conftest.c:1:10: fatal error: 'jni.h' file not found
#include <jni.h>
^~~~~~~
1 error generated.
make: *** [conftest.o] Error 1
Unable to compile a JNI program
JAVA_HOME : /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Java library path:
JNI cpp flags :
JNI linker flags :
Updating Java configuration in /Library/Frameworks/R.framework/Resources
Done.
Я должен сказать, что я не системный или компьютерный инженер, и мои знания по этим вопросам ограничены тем, что я нахожу в Интернете. Может ли кто-нибудь помочь мне выяснить, что означает это сообщение об ошибке и как его можно исправить, чтобы иметь возможность использовать Java в R и запускать rJava и coreNLP?