আমি সম্প্রতি ওএসএক্স মাউন্টেন লায়ন থেকে ইয়োসেমাইটে এবং "র 3.1.3 থেকে 3.2" আপগ্রেড করেছি। আপগ্রেডের অব্যবহিত পরে, যখন আমি আর বা আরস্টুডিও খুললাম তখন আমি একটি পপ-আপ বার্তা পেয়েছিলাম যে আমাকে জাভা install ইনস্টল করার দরকার ছিল In এছাড়াও, লোডিং rJavaবা যে কোনও প্যাকেজ যা আর জাভা উপর নির্ভর করে (যেমন, xlsx) আর স্টুডিওকে ক্র্যাশ করেছিল (আর ক্র্যাশও হয়েছিল) যখন আমি R.appসরাসরি খোলার মাধ্যমে এটি চেষ্টা করেছি )।
স্ট্যাক ওভারফ্লো এবং অন্য কোথাও (আরও বিশদ বিবরণ) পাওয়া কয়েকটি সংশোধন করার চেষ্টা করার পরে, আমি এমন একটি স্থানে এসেছি যেখানে লোডিং rJavaবা কোনও প্যাকেজ যা rJavaআর নির্ভর করে না তাতে আর ক্র্যাশ হয়, তবে নিম্নলিখিত ত্রুটির ফলস্বরূপ:
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’
তবে, আমি যদি কমান্ড লাইন থেকে আরকে অনুরোধ করি এবং তারপরে লোড rJavaবা যে কোনও প্যাকেজ নির্ভর করে rJava, এটি কাজ করে বলে মনে হয় (বা কমপক্ষে আমি কোনও ত্রুটি বার্তা পাই না)।
আমি বেশ কয়েকটি বিভিন্ন চেষ্টা করা সমাধানের চেষ্টা করেছি, এর মধ্যে কয়েকটি কয়েকটি কয়েকবার করেছি, এবং ঠিক কোন অর্থে আমি কী করেছি তা পুরোপুরি মনে করতে পারি না (বুঝতে পারি নি যে এটি এমন নড়বড়ে হবে এবং সত্যই ট্র্যাক রাখছিল না) , তবে এটির সংক্ষেপটি এখানে:
আমার সাথে নিম্নলিখিতগুলি যুক্ত করা হয়েছে
.bash_profile( এই উত্তরটি অনুসারে ):JAVA_Home = "/ usr / lixec / java_home -v 1.8"
রফতানি করুন LD_LIBRARY_PATH = A জাভাহোম / জেআর / লিবিব / সার্ভারকমান্ড লাইন থেকে জাভা পুনরায় কনফিগার করা নিম্নরূপ:
sudo আর সিএমডি javareconf -n
এটি যাচাই করা হয়েছে
options("java.home")এবং এটি আবিষ্কার করা হয়েছেNULL। আমি এটি নিম্নলিখিতটিতে সেট করার চেষ্টা করেছি ( এই একই প্রশ্নে ):অপশন ( "java.home" = "/ লাইব্রেরি / জাভা / JavaVirtualMachines / jdk1.8.0_45.jdk / সূচিপত্র / হোম / JRE")
সর্বশেষতম জাভা ডেভলপমেন্ট কিট ইনস্টল করা
rJavaহয়েছে এবং উত্স থেকে পুনরায় ইনস্টল করা হয়েছে (মনে করতে পারে না যে আমি এটি কোথায় পেয়েছি)।
এই সমস্ত চেষ্টা করার সময় এক পর্যায়ে আমি rJavaআর কে ক্র্যাশ না করে লোড করতে সক্ষম হয়েছি , তবে তার পরিবর্তে উপরে ত্রুটি বার্তাটি পোস্ট করা হয়েছে। তদ্ব্যতীত, আমি যখন আরস্টুডিও ছেড়ে চলেছি তখন এটি স্বাভাবিকভাবে বন্ধ হবে বলে মনে হয় তবে তারপরে একটি "আরস্টুডিও অপ্রত্যাশিতভাবে প্রস্থান করল" বার্তা পপ আপ হয়ে যায়, এটি ইঙ্গিত করে যে প্রোগ্রামটি বন্ধ করার চেষ্টা করার সময় ক্র্যাশ হয়েছে।
আমি অবশেষে OS X 2014-001 (জাভা 6) এর জন্য জাভা ইনস্টল করার সিদ্ধান্ত নিয়েছি , কারণ আমার মনে হচ্ছে বিকল্পগুলি শেষ হয়ে যাচ্ছে। এখন, যখন আমি আর বা আরস্টুডিও খুলি তখন "এই সফ্টওয়্যারটির জাভা 6 দরকার" পপ-আপ বার্তা আর উপস্থিত হয় না। তবে আমি .onLoad failed in loadNamespace() for 'rJava'উপরে ত্রুটি বার্তাটি পোস্ট করেছিলাম posted
আমি ইতিমধ্যে দেখেছি এমন কয়েকটি পোস্ট পর্যালোচনা করে, আমি অন্য একটি এসও উত্তর লক্ষ্য করেছিলাম যা আমি আগে মিস করেছি, যা আরএসস্টুডিওকে নিম্নলিখিত কমান্ড লাইন কোড দিয়ে খোলার পরামর্শ দিয়েছিল যা আরস্টুডিওকে জাবার সঠিক পথ দেয়:
এলডি_লিবারি_প্যাথ = $ (/ ইউএসআর / লিবেক্সেক / জাভা_হোম) / জেআর / লিবিব / সার্ভার: একটি -আর স্টুডিও
এটি একটি আরস্টুডিও উইন্ডোটি খুলল এবং আমি rJavaত্রুটি না পেয়ে লোড এবং প্যাকেজগুলিও নির্ভর করে যা এটি নির্ভর করে।
শেষ অবধি, আমি কমান্ড লাইন থেকে আর চালানোর চেষ্টা করেছি (যা আমি আগে করিনি)। দেখা যাচ্ছে যে কমান্ড লাইনে, লোডিং rJavaবা কোনও প্যাকেজ যা rJavaকাজের উপর নির্ভর করে এবং কোনও ত্রুটি ছুঁড়ে না।
সুতরাং, আমি rJavaযদি আরডিস্টুডিওটিকে জাভা পাথটি দেয় (যা উপরে উল্লিখিত হিসাবে) দেয় সেই কমান্ড লাইন থেকে আর স্টুডিওটি খুললে আমি এখন কাজ করতে পারি। যাইহোক, আমি অন্তর্নিহিত সমস্যাটি সমাধানের একটি উপায় খুঁজে পেতে চাই, তা যাই হোক না কেন, যাতে আরস্টুডিওগুলি কোনও কমান্ড লাইন ক্লডজের প্রয়োজন ছাড়াই সাধারণ ম্যাক উপায়ে খোলা যায়। আমি আরও উদ্বিগ্ন যে জাভার একটি পুরানো সংস্করণ ইনস্টল করা রাস্তায় সমস্যার কারণ হতে পারে।
কীভাবে এই সমস্যাটি সনাক্ত এবং সমাধান করা যায় সে সম্পর্কে কারও কোনও ধারণা আছে?
Yosemite, তাই আমি নিশ্চিত না। সম্পর্কিত একটি উত্তর জন্য নীচে দেখুন El Capitan।
El Capitanনীচের সমাধানটি আশানুরূপ RStudioলোড rJavaহওয়ার সাথে সাথে সহায়ক।
otool -L /Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so ভাগ করা লাইব্রেরিগুলির তালিকা এবং সেগুলি কীভাবে সমাধান করা যায় সেগুলির একটি তালিকা পাওয়ার চেষ্টা করুন । রানটাইমের বিষয়বস্তু কীভাবে আবিষ্কার করবেন তা আমি নিশ্চিত নই @rpath।
LD_LIBRARY_PATH=$(/usr/libexec/java_home)/jre/lib/server: open -a RStudioকৌশলটি ব্যবহার করার আগে আমি এই কাজটি পেয়েছিলাম তবে এটি আর কাজ করে না। আমি এই সমস্যাটি সম্পর্কিত একটি ব্লগ পোস্ট লিখেছি এবং সেখানে এই সমস্যাটি বর্ণনা করেছি। আমি ভাবছি এই কনফিগারেশনে অন্যরাও এই সমস্যাটি অনুভব করেন বা এটি যদি আমার দোষ হয়।