[pm-h] pm-uninstall - For uninstalling Perl Modules in a sane manner

Robert Stone drzigman at drzigman.com
Wed Jun 18 12:08:38 PDT 2014


Greetings, 

I found myself needing to uninstall a few modules today and historically I would just navigate to the site perl install in my perlbrew and rm -rf the relevant files, hoping that nothing else was sharing the namespace: 



[rstone at rstone 5.16.3]$ pwd 
/home/rstone/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3 
[rstone at rstone 5.16.3]$ rm -rf Bad/Module/ 
[rstone at rstone 5.16.3]$ 




I came across a blog post at http://scratching.psybermonkey.net/2011/02/perl-how-to-uninstall-delete-perl.html that talks about pm-uninstall, a program similar to cpanm that takes care of this task much more efficiently. It lists out what is going to be removed, mentions the deps, and handles man page updates (for those who use perldoc locally) as well as asks for conformation: 




[rstone at rstone product]$ cpanm App::pmuninstall 
--> Working on App::pmuninstall 
Fetching http://www.cpan.org/authors/id/X/XA/XAICRON/App-pmuninstall-0.30.tar.gz ... OK 
Configuring App-pmuninstall-0.30 ... OK 
Building and testing App-pmuninstall-0.30 ... OK 
Successfully installed App-pmuninstall-0.30 
1 distribution installed 
[rstone at rstone product]$ pm-uninstall Math::Pari Math::BigInt::Pari 
--> Working on Math::Pari 
Math::Pari is included in the distribution Math-Pari and contains: 

/home/rstone/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/x86_64-linux/Math/Pari.pm 
/home/rstone/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/x86_64-linux/Math/PariInit.pm 
/home/rstone/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/x86_64-linux/Math/libPARI.dumb.pod 
/home/rstone/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/x86_64-linux/Math/libPARI.pod 
/home/rstone/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/x86_64-linux/auto/Math/Pari/Pari.so 
/home/rstone/perl5/perlbrew/perls/perl-5.16.3/man/man3/Math::Pari.3 
/home/rstone/perl5/perlbrew/perls/perl-5.16.3/man/man3/Math::PariInit.3 
/home/rstone/perl5/perlbrew/perls/perl-5.16.3/man/man3/Math::libPARI.3 
/home/rstone/perl5/perlbrew/perls/perl-5.16.3/man/man3/Math::libPARI.dumb.3 

Also, they're depended on by the following installed dists: 

Math-BigInt-Pari 

Are you sure you want to uninstall Math-Pari? [n] y 

Successfully uninstalled Math::Pari 

--> Working on Math::BigInt::Pari 
Math::BigInt::Pari is included in the distribution Math-BigInt-Pari and contains: 

/home/rstone/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/Math/BigInt/Pari.pm 
/home/rstone/perl5/perlbrew/perls/perl-5.16.3/man/man3/Math::BigInt::Pari.3 

Are you sure you want to uninstall Math-BigInt-Pari? [y] y 

Successfully uninstalled Math::BigInt::Pari 

You may want to rebuild man(1) entries. Try `mandb -c` if needed 

[rstone at rstone product]$ 




I found it quite handy and thought I'd share it for anyone else who may find themselves in a similar position. I'm also open to any other similar tools/methods you may have used in the past. 




Happy uninstalling! 




Best Regards, 

Robert Stone 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/houston/attachments/20140618/398adf1a/attachment.html>


More information about the Houston mailing list