可能是萬惡的r自動更新導致之前的函數、包不可用,重新踏上安裝RODPS的坑
前提:
macOS 10.12.6
RStudio version 1.1.456
R 3.5.1
安裝RODPS中,出現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 '/Users/kevin/Library/R/3.4/library/rJava/libs/rJava.so':
? dlopen(/Users/kevin/Library/R/3.4/library/rJava/libs/rJava.so, 6): Library not loaded: @rpath/libjvm.dylib
? Referenced from: /Users/kevin/Library/R/3.4/library/rJava/libs/rJava.so
? Reason: image not found
(因為我修復好了。。沒有留下當初的報錯信息。。)
debug心路歷程:
1、 先了解到java高版本如11需要安裝jre依賴的包,按照百度結果下載了
并將文件復制到lib下
重新運行R? ?并沒有改變什么。。
2、后來大神說,不要用高版本,不穩定,好,重新安裝 java8
各種搜索了解到鏈接rodps需要配置java環境,而java主要由兩部分jdk 和jre兩部分
oracle官網:https://www.oracle.com/technetwork/java/javase/downloads/index.html
對,java8 下載后會出現在這個路徑下:
?
安裝好,還需要配置環境變量
終端執行:
$ touch .bash_profile
然后
$ open -e .bash_profile
寫入
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH
注:JAVA_HOME=上圖中的路徑
保存
然后
$ source .bash_profile
然后
$?echo $JAVA_HOME
執行結果為路徑:/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home?
則配置成功
好,重新運行R,并沒有改變什么。。?
3、又說好需要library(rJava)前手動定義JAVA_HOME?
嗯,執行?
Sys.setenv(JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/jre')
好,并沒有改變什么。。?
4、最后,神來之筆
終端運行: sudo R CMD javareconf
好,好了。。。。。。。我也不知道為什么/