Duplicar Possível:
Qual é a maneira mais fácil de instalar um módulo Perl ausente?
Eu estou tentando correr um script Perl para converter SCXML para Graphviz DOT. Eu modifiquei a primeira linha do script para:
#!/usr/bin/env perl
e chmod +x
o arquivo. Quando eu corro via ./scmxl2dot.pl
Eu vejo a seguinte saída de erro:
Não é possível localizar o LWP / Simple.pm in @INC (@INC contém: /opt/local/lib/perl5/site_perl/5.12.3/darwin-multi-2level /opt/local/lib/perl5/site_perl/5.12.3 / opt / local / lib / perl5 / vendor_perl / 5.12.3 / darwin-multi-2level /opt/local/lib/perl5/vendor_perl/5.12.3 /opt/local/lib/perl5/5.12.3/darwin-multi-2level / opt / local / lib / perl5 / 5.12.3 / opt / local / lib / perl5 / site_perl / opt / local / lib / perl5 / vendor_perl.) em ./scmxml2dot.pl linha 14.
BEGIN falhou - compilação abortada na ./scmxml2dot.pl linha 14.
A linha 14 do arquivo é use LWP::Simple;
Como é que eu:
- Descobrir se eu tenho essa coisa (módulo?) Instalada e / ou
- Obter LWP :: Simple e disponibilizá-lo para o script?
Isso está sendo executado no OS X 10.7.3 e no Perl 5.12.3 (conforme visto no erro).
Respostas:
31 para resposta № 1Você já está determinado a não tê-lo (em algum lugar ele pode ser encontrado).
perl -MCPAN -e"install "LWP::Simple""
6 para resposta № 2
Execute o seguinte na linha de comando:
perl -MLWP::Simple -e 1
Se você não obtiver nenhuma saída do comando acima, o módulo será instalado; se ocorrer um erro, ele não será instalado
para instalar o uso
perl -MCPAN -e"install "LWP::Simple""
Quando perl encontros usam meu ::Módulo vai sobre os elementos do módulo @INC embutido que contém nomes de diretórios. Em cada diretório verifica se existe um subdiretório chamado "My" e se nesse subdiretório existe um arquivo chamado "Module.pm".
verifique onde o módulo LWP :: Simple está instalado em seu sistema e digite abaixo da linha logo acima da instrução LWP :: Simple do seu código.
use lib "/usr/local/module";
use LWP::Simple;
2 para resposta № 3
Dê uma olhada no Perldoc página da web. Isto irá dizer-lhe quais módulos são módulos Perl padrão e quais não são.
Você também pode usar o perldoc comando para descobrir se um módulo Perl está instalado e, se for, sua documentação.
$ perldoc LWP::Simple
(Se o Perldoc não executar como um comando ls -l /usr/bin/perl*
. Nos Macs, alguns dos comandos Perl não possuem o bit de execução ativado. Para ativá-lo, faça sudo chmod a+x /usr/bin/perl
).
Acontece apenas o LWP::Simple
não é um módulo Perl padrão, e se você não tem, você terá que instalá-lo. A maioria das pessoas já lhe contou sobre cpan
. Infelizmente, por padrão, o Mac não possui as ferramentas de desenvolvimento de linha de comando necessárias instaladas. Você terá que instalá-los.
Uma vez que eles "re instalados, você pode usar o cpan
comando para instalar o LWP :: Simple:
$ sudo cpan #Run cpan and configure it. It takes about 3 minutes
cpan> install LWP::Simple
cpan> exit