Saya tidak dapat menemukan jawaban untuk ini di mana saja: Apakah modul yang dipasang melalui APT bertentangan dengan yang dipasang melalui CPAN?
Bersamaan dengan pertanyaan itu adalah ini: Di mana modul CPAN yang diinstal tinggal? Apakah mereka dapat diakses secara global atau hanya untuk pengguna yang menginstal? Bagaimana kamu tahu yang mana? Bagaimana Anda tahu apa yang diinstal dan mana yang diutamakan?
Haruskah CPAN bahkan digunakan ketika modul dipasang melalui APT?
cpan
modul yang diinstal berakhir ditentukan oleh PERLConfig.pm
. Di Ubuntu 11.04 saya, itu/usr/local/share/perl/5.10.1
./usr/local/share
untuk modul perl murni dan/usr/local/lib
untuk xs stuff.Saya menggunakan perlbrew . Ini menginstal versi lokal dari Perl dan cpan. Segala yang dilakukannya dilakukan di direktori home Anda. Langsung untuk menginstal dan menggunakan dan Anda dapat menginstal versi terbaru dari Perl.
sumber
Ketika menginstal dari CPAN secara langsung, saya akan merekomendasikan menggunakan :: lib lokal ke direktori pribadi untuk Anda. Lihat teknik boostrapping https://metacpan.org/module/local::lib
Dengan cara itu modul yang dipasang CPAN hanya akan digunakan oleh pengguna Anda dan itu akan memiliki pemisahan yang sangat bersih dari modul yang diinstal menggunakan APT.
Ini juga akan memudahkan untuk menyingkirkan modul yang dipasang CPAN jika Anda menemukan masalah apa pun atau ketika Anda meningkatkan Ubuntu.
Begitulah cara saya menggunakannya di Ubuntu.
sumber
Anda dapat menggunakan keduanya tetapi keduanya akan bertentangan. Mereka ditulis ke tempat yang sama jadi jika Anda menginstal sesuatu dari apt dan kemudian menginstal versi yang lebih baru dari cpan, Anda dapat menyusun semuanya.
Saya tidak melakukan banyak Perl tetapi dengan Python saya pasti memiliki dilema yang Anda bicarakan: apt-vs-PyPI. Saya pribadi memilih apt kapan saja saya bisa. Itu berarti saya harus mendapatkan pembaruan tanpa harus ingat untuk memelihara setiap paket Python individu. Bukan hanya itu tetapi itu berarti bahwa semua sistem saya harus berjalan pada versi yang sama dari paket-paket itu.
Itu tidak selalu berhasil. Kadang-kadang Anda tidak memiliki hal-hal yang cukup baru dalam repo atau sesuatu yang Anda butuhkan tidak dikemas. Tidak ada cara yang sempurna tetapi saya percaya cenderung lebih sempurna. Sadarilah apa yang Anda lakukan dan Anda harus baik-baik saja.
Sunting - Hampir lupa, ada cara yang lebih baik untuk membagi segalanya sehingga sistem dapat memiliki lingkungannya sendiri dan apa pun yang Anda kembangkan dapat hidup di lingkungannya sendiri (yang Anda kelola sepenuhnya dengan CPAN), Seperti Python
virtualenv
.../programming/1423879/how-can-i-install-specialized-environmentments-for-different-perl-applications
sumber
Site
atausite
direktori - atau setidaknya Anda bisa memaksanya.cpan
-instalasi modul berakhir di / usr / local / share / perl (atau lokasi yang ditentukan oleh PERLConfig.pm
), sedangkan paket APT berakhir di / usr / share / perl5 sesuai kebijakan Debian. Jadi mereka tidak konflik, dan aman untuk mencampur dan mencocokkan instalasi CPAN dan APT, seperti jawaban yang lain katakan. (Python bukan analogi yang baik di sini: PERL pengemasan dan penanganan modul jauh berbeda dan -IMHO- lebih unggul dari Python.)