Tüm CPAN modüllerimi en son sürümlerine nasıl güncelleyebilirim?


136

Tüm CPAN modüllerimi en son sürümlerine nasıl güncelleyebilirim?

Yanıtlar:


145

Kullanarak alternatif bir yöntem upgrade, varsayılan CPAN kabuğundan kullanmaktır cpanminusve cpan-outdated.

Bunların kullanımı o kadar kolay ve çevik ki, hiç CPAN kabuğuna geri dönmüyorum. Tüm modüllerinizi tek seferde yükseltmek için komut:

cpan-outdated -p | cpanm

cpanminusDokümanlar açıklandığı gibi yüklemenizi öneririm :

curl -L https://cpanmin.us | perl - App::cpanminus

Ve sonra aşağıdakileri cpan-outdatedkullanarak diğer tüm CPAN modülleriyle birlikte kurun cpanm:

cpanm App::cpanoutdated

BTW: Kullanıyorsanız, bunu perlbrewaltına yüklediğiniz her Perl için tekrarlamanız gerekir.

Github depoları hakkında cpanminusve cpan-outdatedburadan daha fazla bilgi edinebilirsiniz:


4
yerleşik bir çözüm varken neden bu tür ekstra araçlar kullanıyorsunuz (ikinci cevaba bakınız)?
eav

3
"neden bu tür ekstra araçlar kullanılıyor" OP sorusunun kapsamı dışındayken, cpanimus CPAN'ın Enter tuşuna basmanızı ve / veya [y] es yazmanızı isteyen sorununu çözer. Size AFAICT olamaz güvenilir vanilya CPAN ile bu davranışı bastırmak. Bu, herhangi bir cron veya CI sunucusu dahil olur olmaz ve / veya kahve almaya başladığınızda asılmayacağından emin olarak bir yükseltme başlatmak istiyorsanız (bu benim deneyimimdir) sık sık vanilya CPAN durumunda) Bu yanıta da bakınız stackoverflow.com/questions/898782/…
Noah Sussman

[root @ portal-test bugzilla-4.4.4] # cpan-modası geçmiş -p | cpanm / usr / bin /
cpan

3
Bunlar eskidir (2006'da perl tarihleri, 2005'ten LWP). İdeal olarak, her ikisinin de yeni sürümüne ihtiyacınız vardır. Bazı nedenlerden dolayı bunu yapamıyorsanız o zaman ben cpanm | cpan-eskimiş çalışma kadar LWP sürümünü sürümüne yükseltmek. NB. ÖNEMLİ - Perl yüklü CentOS kullanıyorsanız, bunlarla CPAN veya CPANMINUS kullanmayın! OS paketleriyle asla karıştırmayın !! Bunun yerine Perlbrew'u kendi perlinizi demlemek için kullanın (ve daha sonra cpanminus vb.
draegtun

1
Bu çözümleri seviyorum çünkü cpan-outdated -pyükseltmeleri çalıştırmadan önce ne yapacağını görmek için kolayca çalışabilirsiniz . Kuru bir koşu ile nasıl yapılacağı belli değilcpan upgrade
Stephen Ostermiller

51

Tüm Perl paketlerini (CPAN modülleri) yükseltmenin kolay bir yolu şu şekildedir:

cpan upgrade /(.*)/

cpan normal ifadeyi bu şekilde tanıyacak ve kurulu olan tüm paketleri güncelleyecek / güncelleyecektir.


8
Tamam, bu kadar değil serin olarak cpanminus, ama en azından size iş için bu almak için her şeyi indirmek zorunda değilsiniz.
David W.

13
Bu komutla sorun yaşayanlar için; Cpan kabuğunu üzerinden çalıştırmayı deneyin cpanve ardından upgrade /(.*)/cpan kabuğunda çalıştırın .
earthmeLon

33

Çilek Perl için şunu deneyin:

cpan -u

4
Normal Perl için de. Adam sayfasından:-u Upgrade all installed modules. Blindly doing this can really break things, so keep a backup.
Chloe


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.