Bazı programlama dilleri kendi paket yönetim sistemleriyle birlikte gelir, örneğin R durumunda, yerleşik install.packages
komut CRAN deposundan yüklenir ve bağımlılıklar ile ilgilenir.
Buna paralel olarak, işletim sistemi apt
debian tabanlı Linux dağıtımları için komut gibi kendi paket yönetim sistemleriyle birlikte gelir .
Sistemimdeki her şeyin uyumlu olacağını garanti etmek için dağıtımın paket yöneticisini kullanmanın daha iyi olduğuna karar verdim (bkz. Https://stackoverflow.com/a/31293955/1878788 ).
Ama kısa süre sonra bu şekilde mevcut olmayan şeylere ihtiyaç duyduğum bir gün geldi. Örneğin, dağıtımım tarafından paketlenmemiş bir biyoinformatik programı, R'nin belirli bir sürümünü gerektirecektir. Programın, biyoenformatik için R paketleri sağlamak ve paketlerin birbirleriyle uyumlu olmalıdır (bkz. https://www.bioconductor.org/install/#why-biocLite ).
Bu yüzden işletim sistemi paketleme yönetim sistemimi R için kullanmamaya karar verdim ve her şeyi biocLite
bioiletken projesi tarafından sağlanan komutla kurmaya karar verdim .
Bu yaklaşım, tutarlı, sağlıklı ve kolayca yeniden oluşturulabilen biyoinformatik ekosistemlerini sürdürmek için bazı kişilerin conda paketi yönetim sistemini kullanmaya karar verene kadar bir süre sorunsuz bir şekilde devam etti. "Bioconda" adı verilen bu proje sadece R paketleri değil, her türlü dilden, sürümleri kolayca değiştirebilme imkanı ve benzeri şeyler sunmaktadır (bkz. Https://bioconda.github.io/ ).
Daha sonra bu yaklaşımı kullanmaya karar verdim ve bioconda / conda tarafından sağlanmayan bir R paketine ihtiyaç duyana kadar sorunsuz çalıştı. Sözde süper kolay, ama bir conda paketi yapma girişimlerim başarısız oldu, sonra paketi biyokiletken yolunu kullanarak yüklemeye çalıştım ve tekrar başarısız oldu. Bir şekilde yanlış R kurulumunun paket oluşturma mekanizmaları tarafından kullanıldığı izlenimine kapıldım. Bu yüzden (hala çok genç) konda kurulumumu silmeye ve biyoiletken ekosistemime geri dönmeye karar verdim.
Bir yaklaşımdan diğerine ne kadar süre atlamak zorunda kalacağımı merak ediyorum. Bu çoklu, karışan ve çakışan paket yönetimi düzeyleriyle nasıl başa çıkılacağı konusunda genel iyi uygulamalar var mı?
Edit (14/09/2017) : Düşündüğüm başka bir seçenek de Guix veya Nix gibi işletim sistemi düzeyinde alternatif paket yöneticileri kullanmak .