Removendo o módulo perl instalado com o cpanm

3

Eu sou iniciante no Perl. Eu queria usar o módulo Log :: Log4perl como estou familiarizado como funciona em Java. Eu usei script cpanm para baixar o módulo, mas eu corri sem "sudo". Então ele instalou este módulo no meu diretório / home / amer / perl5. Depois, instalei-o como sudoer, mas desejo remover a instalação do meu diretório home para evitar conflitos no futuro. Como eu posso fazer isso? Aqui está minha pilha de execução de cmdline.

Obrigado e cumprimentos!

    
por azec_pdx 25.04.2012 / 23:01

5 respostas

5

Isso é bastante experimental no momento, mas agora o cpanm suporta uma opção uninstall . De MetaCpan :

-U, --uninstall

EXPERIMENTAL: Uninstalls the modules. Will remove the distribution files from your library path using the .packlist file. When used with -l or -L, only the files under the local::lib directory will be removed. NOTE: If you have the "dual-life" module in multiple locations (i.e. site_perl and perl library path, with perl 5.12 or later), only the files in site_perl will be deleted. If the distribution has bin scripts and man, they will be kept in case the core installation still references that, although there's no guarantee that the script will continue working as expected with the older version of .pm files.

    
por 22.10.2013 / 10:05
1

Experimente App :: pmuninstall

DESCRIPTION

App::pmuninstall is a fast module uninstaller. delete files from .packlist.

App::cpanminus and, App::cpanoutdated with a high affinity.

    
por 19.07.2012 / 08:52
0

Da sua conta de usuário, vá para shell / prompt de comando, digite PPM . Quando o PPM abrir o tipo "remove [nome do pacote]" isto irá desinstalar aquele pacote em particular para você. digite "help remove" no PPM para mais detalhes.

    
por 25.04.2012 / 23:06
0

Eu experimentei o App :: pmuninstall e ele funcionou bem para mim.

Instale o módulo usando o comando:

$ perl -MCPAN -e shell

Terminal does not support AddHistory.

cpan shell -- CPAN exploration and modules installation (v1.9800)
Enter 'h' for help.

cpan[1]>install App::pmuninstall

...

cpan[2]>quit

Uso.

Na minha máquina local, ele foi instalado em / home / taras / perl5 / bin / pm-uninstall

pm-uninstall [options] Módulo ...

opções:

    -v,--verbose                  Turns on chatty output
    -f,--force                    Uninstalls without prompts
    -c,--checkdeps                Check dependencies (defaults to on)
    -n,--no-checkdeps             Don't check dependencies
    -q,--quiet                    Suppress some messages
    -h,--help                     This help message
    -V,--version                  Show version
    -l,--local-lib                Additional module path
    -L,--local-lib-contained      Additional module path (don't include non-core modules)

O site do módulo é: link

    
por 05.03.2013 / 21:10
-1

Eu usei o roteiro de David Farrell :

#!/usr/bin/perl
# uninstall_perl_module.pl from PerlTricks.com

use 5.14.2;
use ExtUtils::Installed;
use ExtUtils::Packlist;

# Exit unless a module name was passed
die ("Error: no Module::Name passed as an argument. E.G.\n\t perl $0 Module::Name\n") unless $#ARGV == 0;

my $module = shift @ARGV;

my $installed_modules = ExtUtils::Installed->new;

# iterate through and try to delete every file associated with the module
foreach my $file ($installed_modules->files($module)) {
    print "removing $file\n";
    unlink $file or warn "could not remove $file: $!\n";
}

# delete the module packfile
my $packfile = $installed_modules->packlist($module)->packlist_file;
print "removing $packfile\n";
unlink $packfile or warn "could not remove $packfile: $!\n";

# delete the module directories if they are empty
foreach my $dir (sort($installed_modules->directory_tree($module))) {
    print("removing $dir\n");
    rmdir $dir or warn "could not remove $dir: $!\n";
}

Ele fez o trabalho, embora tenha produzido alguma saída assustadora: -):

removing /
could not remove /: Device or resource busy
removing /home
could not remove /home: Permission denied

Você também pode querer dar uma olhada em este post .

    
por 23.12.2014 / 11:17

Tags