java - 如何删除 mac 中与 rJava 相关的错误消息
问题描述
我已经在 R 中安装了 rJava 包,并且我还在我的 mac 上安装了 Java 64 位,但是当我尝试加载 rJava 包时,我不断收到错误消息。
library(rJava)
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: image not found
我尝试了所有我能做的事情。我试图插入sudo ln -f -s $(/usr/libexec/java_home)/jre/lib/server/libjvm.dylib /usr/local/lib
终端
我也试过Sys.setenv(JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre')
dyn.load(paste0(system2('/usr/libexec/java_home',stdout = TRUE), '/jre/lib/server/libjvm.dylib'))
dir(paste0(system2('/usr/libexec/java_home',stdout=TRUE)))
但它们都对我不起作用 不断收到与上述相同的错误消息。有人可以帮助我吗?谢谢
解决方案
我在我的 Mac 上遇到了同样的问题。对于 Java 9,路径与您发布的路径不同。
sudo ln -f -s $(/usr/libexec/java_home)/lib/server/libjvm.dylib /usr/local/lib
并且也在下面更新R。
MY_R_VERSION=$(Rscript -e "cat(with(R.version, sprintf('%s.%s', major, substring(minor, 1, 1))))")
ln -s /usr/local/lib/libjvm.dylib /Library/Frameworks/R.framework/Versions/$MY_R_VERSION/Resources/lib/
推荐阅读
- c - 为什么浮点数和 int 的加法结果是浮点数?
- node.js - Docker Image 似乎没有安装所有 NPM 依赖项
- python - 为什么 pip 安装过程卡在“安装收集的包”步骤?
- pytorch - PyTorch VAE 无法转换为 onnx
- azure-logic-apps - 我如何从逻辑应用程序中读取 CloudQueueMessage.DequeueCount
- python - 从 CSV 列表中选择到表中
- spring-integration - 无法在 Spring Integration Flow 的建议中删除文件资源
- python - 谷歌 colab python3 名称 cv2 未定义
- node.js - 如何在 node-oidc-provider 中重定向失败的登录尝试
- curve-fitting - MATLAB - 指数(exp2)曲线拟合函数在使用原始方程中的拟合值时不给出与绘图相同的输出