Have issue installing rJava, tried most troubleshooting steps here and doesn't work.
It's returning error
Loading required package: 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.4/Resources/library/rJava/libs/ rJava.so':
I'm on latest ver of R/Rstudio and Mac El Capitan
I also tried this method 1 which didn't work
sudo R CMD javareconf
Then, in the R interpreter:
install.packages('rJava', type='source')
install.packages('xlsx', type='source')
method 2
sudo ln -s $(/usr/libexec/java_home)/jre/lib/server/libjvm.dylib /usr/local/lib
error returned ln: /usr/local/lib/libjvm.dylib: File exists
method 3
install.packages("rJava", type = "binary")
error: tar: Failed to set default locale
to deal with default locale error
system("defaults write org.R-project.R force.LANG en_US.UTF-8")
upon loading rJava, still same error:
image not found
So looks like it's installed but won't load
The problem was rJava wont install in RStudio
(Version 1.0.136
). The following worked for me (macOS Sierra version 10.12.6
) (found here):
Step-1: Download and install javaforosx.dmg
from here
Step-2: Next, run the command from inside RStudio:
install.packages("rJava", type = 'source')
I also had a lot of trouble with this and eventually found the following SO thread to be the most relevant: rJava load error in RStudio/R after "upgrading" to OSX Yosemite
Basically, starting from no installation of rJava, and starting in the terminal:
- Form the sym link (note, the
-f
flag will overwirte existing links avoiding the error you encountered in "method 2".
$ sudo ln -f -s $(/usr/libexec/java_home)/jre/lib/server/libjvm.dylib /usr/local/lib
Then in RStudio:
- Ensure
options('java.home')
isn't NULL
, and set if necessary:
options("java.home"="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre")
- Ensure the
JAVA_HOME
and LD_LIBRARY_PATH
environment variables are set, and set if not:
Sys.setenv(JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home')
Sys.setenv(LD_LIBRARY_PATH='$JAVA_HOME/jre/lib/server')
After this I was able to install and load the rJava package in RStudio with
install.packages('rJava')
library(rJava)
Here is my solution
Define path to R libraries, here R 3.4 version and open dir:
cd /Library/Frameworks/R.framework/Versions/3.4/Resources/lib
Remove libjvm.dylib:
rm libjvm.dylib
Create link to libjvm.dylib from Java libraries, here jdk1.8.0_151 version:
ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/server/libjvm.dylib libjvm.dylib
now go to R or RStudio and try:
library("rJava")
I did the same thing for java 9, it worked perfectly (macOS High Sierra), thanks:
cd /Library/Frameworks/R.framework/Versions/3.4/Resources/lib
rm libjvm.dylib
ln -s /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/lib/server/libjvm.dylib libjvm.dylib
I have tried most of the recommendations on this site, but none worked. The only working solution for me was on this Github site site.
Hope this solves your issues.