Yakın zamanda OSX Mountain Lion'dan Yosemite'ye ve R 3.1.3'ten 3.2'ye "yükselttim". Yükseltmeden hemen sonra, R veya RStudio'yu açtığımda, Java 6'yı yüklemem gerektiğini belirten bir açılır mesaj aldım. Buna ek olarak, yükleme rJava
veya rJava'ya bağlı herhangi bir paket (örn. xlsx
) RStudio'nun çökmesine (R da çöktü) bunu R.app
doğrudan açarak denediğimde ).
Stack Overflow'da ve başka yerlerde bulunan birkaç düzeltmeyi denedikten sonra (daha fazla ayrıntı aşağıda), yüklemenin rJava
veya bağımlı olan herhangi bir paketin rJava
artık R'nin çökmesine neden olmadığı, ancak aşağıdaki hatayla sonuçlandığı bir noktadayım :
library(rJava)
Error : .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.2/Resources/library/rJava/libs/rJava.so':
dlopen(/Library/Frameworks/R.framework/Versions/3.2/Resources/library/rJava/libs/rJava.so, 6): Library not loaded: @rpath/libjvm.dylib
Referenced from: /Library/Frameworks/R.framework/Versions/3.2/Resources/library/rJava/libs/rJava.so
Reason: image not found
Error: package or namespace load failed for ‘rJava’
Bununla birlikte, komut satırından R'yi çağırırsam ve sonra yüklersem rJava
veya bağlı olan herhangi bir paketi yüklersem rJava
, işe yarıyor gibi görünüyor (veya en azından herhangi bir hata mesajı almıyorum).
Bazıları birkaç kez olmak üzere birkaç farklı düzeltme denedim ve tam olarak ne sırayla yaptığımı tam olarak hatırlayamıyorum (bunun böyle bir bataklık olacağını ve gerçekten takip etmeyeceğini anlamadım) , ama işin özü şu:
Aşağıdakileri ekledim
.bash_profile
( bu SO cevabı başına ):dışa aktar JAVA_HOME = "/ usr / libexec / java_home -v 1.8"
dışa aktar LD_LIBRARY_PATH = $ JAVA_HOME / jre / lib / serverAşağıdaki gibi komut satırından yeniden yapılandırılmış java:
sudo R CMD javareconf -n
Kontrol edildi
options("java.home")
ve bunun olarak ayarlandığı keşfedildiNULL
. Aşağıdakine ayarlamayı denedim ( bu SO sorusu başına ):seçenekleri ( "java.home" = "/ Library / Java / JavaVirtualMachines / jdk1.8.0_45.jdk / İçerik / Ev / jre")
En son Java Geliştirme Kitini yükledim ve
rJava
kaynaktan yeniden yükledim (onu nerede bulduğumu hatırlayamıyorum).
Tüm bunları denerken bir noktada, rJava
R'yi çökertmeden yükleyebildim , bunun yerine yukarıda yayınlanan hata mesajını aldım. Ek olarak, RStudio'dan çıktığımda, normal olarak kapanıyor gibi görünüyordu, ancak daha sonra, kapatmaya çalışırken programın çöktüğünü belirten bir "RStudio beklenmedik şekilde çık" mesajı beliriyordu.
Sonunda OS X 2014-001 (Java 6) için Java yüklemeye karar verdim , çünkü seçeneklerim bitiyor gibi görünüyordu. Şimdi, R veya RStudio'yu açtığımda "Bu yazılımın Java 6'ya ihtiyacı var" açılır mesajı artık görünmüyor. Yine de .onLoad failed in loadNamespace() for 'rJava'
yukarıda yayınlanan hata mesajını alıyordum .
Daha önce baktığım bazı gönderileri incelerken , daha önce kaçırdığım başka bir SO cevabı fark ettim , bu da RStudio'yu RStudio'ya java'ya doğru yolu veren aşağıdaki komut satırı koduyla açmayı önerdi:
LD_LIBRARY_PATH = $ (/ usr / libexec / java_home) / jre / lib / server: açık -a RStudio
Bu bir RStudio penceresi açtı ve ben de rJava
bir hata almadan ona bağlı olan paketleri yükleyebildim .
Son olarak, R'yi komut satırından çalıştırmayı denedim (daha önce yapmadığım). Komut satırında, yüklemede rJava
veya işe bağlı olan herhangi bir pakette rJava
ve herhangi bir hata atmadığı ortaya çıkıyor.
Yani, rJava
RStudio'yu komut satırından RStudio'ya java yolunu veren kodla açarsam (yukarıda belirtildiği gibi) artık çalışmaya başlayabilirim . Bununla birlikte, RStudio'nun bir komut satırı kludge'ına ihtiyaç duymadan normal Mac tarzında açılabilmesi için, temelde yatan sorunu çözmenin bir yolunu bulmak isterim. Ayrıca, Java'nın eski bir sürümünün yüklü olmasının yolun ilerleyen kısımlarında sorunlara neden olabileceğinden de endişeliyim.
Bu sorunun nasıl teşhis edileceği ve çözüleceği konusunda herhangi bir fikri olan var mı?
Yosemite
, bu yüzden emin değilim. İle ilgili bir cevap için aşağıya bakın El Capitan
.
El Capitan
aşağıdaki çözüm beklendiği kadar kısa sürede RStudio
yüklenir rJava
.
otool -L /Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so
sırasında, paylaşılan kitaplıkların ve nasıl çözüldüklerinin bir listesini almaya çalışın . Öğesinin çalışma zamanı içeriğini nasıl keşfedeceğimi bilmiyorum @rpath
.
LD_LIBRARY_PATH=$(/usr/libexec/java_home)/jre/lib/server: open -a RStudio
Numarayı kullanmadan önce bunu çalıştırdım , ama artık çalışmıyor. Ben ettik bu konuda bir blog yazısı yazdı ve orada bu sorunu tanımladı. Başkalarının da bu konfigürasyonda bu sorunu yaşayıp yaşamadığını veya benim hatam olup olmadığını merak ediyorum.