R: apt-get install r-cran-foo vs. install.packages ("foo")
سؤال
عند تثبيت حزم r (قل mcmcpack
في هذا المثال) بموجب Ubuntu ، لديّ خيار بين طريقتي التثبيت التالية:
# Let the distribution's packaging system take care of installation/upgrades
apt-get install r-cran-mcmcpack
# Let R take care of installation/upgrades
install.packages("mcmcpack")
أسئلة:
- هل تعتبر أي من طريقتي تثبيت حزم R "أفضل الممارسات"؟
- افترض أنني أولا
install.packages("mcmcpack")
وبعد ذلكapt-get install r-cran-mcmcpack
- هل يجب أن أتوقع المتاعب؟ - افترض أنني أولا
apt-get install r-cran-mcmcpack
وبعد ذلكinstall.packages("mcmcpack")
- هل يجب أن أتوقع المتاعب؟
المحلول
الأمر ليس سهلاً كما يبدو.
apt-get update
جيد إذا ومتىتوجد حزم - ولكن لا يوجد سوى حوالي 150 أو نحو ذلك
r-cran-*
حزم من مجموعة من 2100+ حزمة على Cran ، لذلك تغطية متفرق إلى حد مايتم الحفاظ على الحزم وخالية من الأخطاء والحالية
أنت سعيد بما فيه الكفاية مع الإصدارات السنوية التي كتبها أوبونتو
install.packages()
و لاحقاupdate.packages()
جيد إذا ومتىأنت تعرف ما يتطلبه الأمر للحصول على تبعيات بنيت (إلى جانب ذلك
r-base-dev
) المثبتةأنت لا تمانع في الجري
update.packages()
باليد وكذلكapt-get
التحديثات.
على جهاز Ubuntu الخاص بي في العمل ، أذهب مع الحل الثاني. ولكن لأن الأول أفضل إذا كان لديك تغطية كافية, ، لقد بنينا Cran2deb الذي يوفر 2050+ حزم DEB الثنائية لـ AMD64 و I386 --- ولكن فقط لاختبار Debian. هذا ما أستخدمه في المنزل.
أما بالنسبة للسؤال الأخير عما إذا كنت "يجب أن تتوقع المتاعب": لا ، لأن R_LIBS_SITE
تم تعيينه /etc/R/Renvironment
ان نكون
# edd Apr 2003 Allow local install in /usr/local, also add a directory for
# Debian packaged CRAN packages, and finally the default dir
# edd Jul 2007 Now use R_LIBS_SITE, not R_LIBS
R_LIBS_SITE=${R_LIBS_SITE-'/usr/local/lib/R/site-library:\
/usr/lib/R/site-library:/usr/lib/R/library'}
مما يعنى لك الحزم تدخل /usr/local/lib/R/site-library
في حين تمكنت من قبل apt
اذهب داخل /usr/lib/R/site-library
و (في حالة الحزم الأساسية) /usr/lib/R/library
.
أتمنى أن يوضح الأمور. تعد قائمة R-Sig-Debian البريدية مكانًا أكثر استنارة لأسئلة مثل هذه.
نصائح أخرى
سأفكر في استخدام
apt-get
أفضل الممارسات لأنك ستحصل على تحديثات تلقائية من خلال أدوات النظام القياسية.قد يجعلك وجود نسختين مثبتتين في مواقف مربكة: اعتمادًا على إعداد R الخاص بك ، يمكنك تحميل إصدار حزمة آخر ، ثم تتوقع - يجب تحميل خاصك بشكل عام (ربما عفا عليه الزمن) بشكل عام.
أنظر فوق.