我尝试将Java更新到最新版本(1.8.0_151)以便在R中使用某些软件包时失败了。
我当前的OSX版本是macOS Sierra版本10.12.6。
我尝试this solution(能够通过终端选择我想要的Java版本),但由于最新版本没有显示在我的调用中,因此无法使其工作。终端:
/usr/libexec/java_home -V
在我的航站楼,我仍然看到:
Matching Java Virtual Machines (2):
1.6.0_65-b14-468, x86_64: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_65-b14-468, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
我希望看到类似下面的内容(从第一个解决方案中复制和粘贴),即使我已下载最新版本的Java并通过我的系统偏好设置确认它是最新的。
Matching Java Virtual Machines (3):
1.8.0_05, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
1.6.0_65-b14-462, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_65-b14-462, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
此外,我尝试过this solution,尝试在bash中重新设置JAVA_HOME但我没有权限。
道歉,如果我遗漏了一些基本的东西,我没有在终端工作,也不知道这意味着我没有权限/如何更新我的个人资料以获取最新版本的Java。
此外,我在终端
中尝试了以下内容R CMD javareconf
产生以下错误,而不是映射到适当的Java版本:
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
System Java on macOS
trying to compile and link a JNI program
detected JNI cpp flags : -I/System/Library/Frameworks/JavaVM.framework/Headers
detected JNI linker flags : -framework JavaVM
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/System/Library/Frameworks/JavaVM.framework/Headers -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c conftest.c -o conftest.o
conftest.c:4:5: warning: 'JNI_CreateJavaVM' is deprecated
[-Wdeprecated-declarations]
JNI_CreateJavaVM(0, 0, 0);
^
/System/Library/Frameworks/JavaVM.framework/Headers/jni.h:1936:39: note:
'JNI_CreateJavaVM' has been explicitly marked deprecated here
_JNI_IMPORT_OR_EXPORT_ __attribute__((deprecated)) jint JNICALL
^
1 warning generated.
clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o conftest.so conftest.o -framework JavaVM -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
JAVA_HOME : /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Java library path:
JNI cpp flags : -I/System/Library/Frameworks/JavaVM.framework/Headers
JNI linker flags : -framework JavaVM
Updating Java configuration in /Library/Frameworks/R.framework/Resources
Done.
如何确保使用最近下载的Java版本并将其添加到我的个人资料中?
非常感谢任何和所有帮助!
- UPDATE -
我已按照these youtube steps将相应的JDK版本映射到我的.bash_profile
。
问题仍然存在于RStudio中,当我尝试安装RWeka软件包时,它没有提取正确的Java版本。
如何在我的RStudio中链接相应的版本?
RWeka安装的错误如下:
** package ‘RWeka’ successfully unpacked and MD5 sums checked
Need at least Java version 1.7/7.0.
ERROR: configuration failed for package ‘RWeka’
* removing ‘/Library/Frameworks/R.framework/Versions/3.3/Resources/library/RWeka’
Warning in install.packages :
installation of package ‘RWeka’ had non-zero exit status