<2020-06-04>更新。
虽然rSymPy等包并不常用,但是xlsx常见啊,所以还是把这个问题解决了。
因为没用过java语言,所以很多概念比如java和jdk一直都分不太清。最近R包要升级了报错,今天详细看了提示才发现当前的java环境里没有include
目录。
比如我现在这台机,虽然默认有java8-openjdk,但仍需要安装jdk
,当前对应的版本是14,环境叫java-14-jdk
,这样JAVA_HOME
(/usr/lib/jvm/java-14-jdk/)里才有include/
和jni.h
,但是仍然不生效。需要使用sudo archlinux-java set java-14-jdk
将java-8-openjdk/jre
替换才可以,也可以使用archlinux-java status
查看已经安装的java环境及状态。
之后R及包的安装,按照本文继续操作就可以了。
寻找计算数列极限的包,查得有Ryacas
与rSymPy
,后者在安装过程中报错。
阅读报错的信息"Make sure you have Java Development Kit installed and correctly registered in R",此问题可在终端输入:
sudo R CMD javareconf
解决。
此后可以编译却不能加载,原因是缺少 libjvm.so,"package ‘rJava’ could not be loaded"。
而我用的Manjaro本就有jdk等,毋须再次安装。只要在 /etc/envirionment 中添加:
LD_LIBRARY_PATH=/usr/lib/jvm/default/jre/lib/amd64/server/
重启R即可。
网友评论