POD2::PT_BR::local::lib(category21-suse.html) - phpMan

POD2::PT_BR::local::liUser Contributed Perl DocumentPOD2::PT_BR::local::lib(3)
NAME
       local::lib~[pt_br] - crie e use um diretorio lib/ local para modulos
       perl com PERL5LIB
SINOPSE
       No codigo -
         use local::lib; # configura um lib local em ~/perl5
         use local::lib '~/foo'; # idem, mas ~/foo
         # Ou...
         use FindBin;
         use local::lib "$FindBin::Bin/../suporte";  # bibliotecas de suporte locais a aplicacao
       Pela linha de comando (shell) -
         # Instala o LWP e suas dependencias nao encontradas no diretorio '~/perl5'
         perl -MCPAN -Mlocal::lib -e 'CPAN::install(LWP)'
         # Apenas exibe alguns comandos uteis para a shell
         $ perl -Mlocal::lib
         export PERL_MB_OPT='--install_base /home/username/perl5'
         export PERL_MM_OPT='INSTALL_BASE=/home/username/perl5'
         export PERL5LIB='/home/username/perl5/lib/perl5/i386-linux:/home/username/perl5/lib/perl5'
         export PATH="/home/username/perl5/bin:$PATH"
   A tecnica de 'bootstrapping'
       Uma forma comum de instalar o local::lib e usando o que e conhecido
       como tecnica de "bootstrapping". E uma boa abordagem caso seu
       administrador de sistemas nao tenha instalado o local::lib. Nesse caso,
       voce precisara instalar o local::lib em seu diretorio de usuario.
       Caso voce tenha privilegios de administrador, ainda assim devera
       configurar suas variaveis de ambiente, como discutido no passo 4,
       abaixo.  Sem elas, voce ainda instalara modulos no CPAN do sistema e
       seus scripts Perl nao utilizarao o caminho para o lib/ que voce definiu
       com o local::lib.
       Por padrao, o local::lib instala os modulos do CPAN e a si proprio em
       ~/perl5.
       Usuarios do Windows devem ler "Diferencas ao usar esse modulo em
       Win32".
       1. Baixe e descompacte o local::lib do CPAN (procure por "Download" na
       pagina do CPAN sobre o local::lib). Faca isso como um usuario comum,
       nao como root ou administrador. Descompacte o arquivo em seu diretorio
       de usuario ou em qualquer outro local conveniente.
       2. Execute isso:
         perl Makefile.PL --bootstrap
       Caso o sistema pergunte se deve configurar tudo que puder
       automaticamente, voce provavelmente deve responder que sim (yes).
       Para instalar o local::lib em um diretorio que nao o padrao, voce
       precisara especifica-lo ao chamar o bootstrap, da seguinte forma:
         perl Makefile.PL --bootstrap=~/foo
       3. Execute isso: (local::lib assume que voce possui o comando 'make'
       instalado em seu sistema)
         make test && make install
       4. Agora precisamos configurar as variaveis de ambiente apropriadas
       para que o Perl use nosso recem-criado diretorio lib/. Caso esteja
       usando bash ou outra shell Bourne, voce pode fazer isso adicionando a
       seguinte linha em seu script de inicializacao da shell:
         echo 'eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)' >>~/.bashrc
       Caso esteja usando a shell C, pode fazer da seguinte forma:
         /bin/csh
         echo $SHELL
         /bin/csh
         perl -I$HOME/perl5/lib/perl5 -Mlocal::lib >> ~/.cshrc
       Caso tenha passado para o bootstrap um diretorio que nao o padrao, voce
       precisara indica-lo na chamada ao local::lib, dessa forma:
         echo 'eval $(perl -I$HOME/foo/lib/perl5 -Mlocal::lib=$HOME/foo)' >>~/.bashrc
       Apos atualizar seu arquivo de configuracao da shell, certifique-se de
       processa-lo novamente para obter as modificacoes em sua shell atual.
       Shells Bourne usam ". ~/.bashrc" para isso, enquanto shells C usam
       "source ~/.cshrc".
       Se estiver em uma maquina lenta ou operando com grandes limitacoes de
       espaco em disco, voce pode desativar a geracao automatica de manpages a
       partir do POD ao instalar modulos. Para isso, basta passar o argumento
       "--no-manpages" durante o bootstrap:
         perl Makefile.PL --bootstrap --no-manpages
       Para evitar ter que fazer varios bootstraps para varios ambientes de
       modulos Perl na mesma conta de usuario - por exemplo se voce usa o
       local::lib para desenvolver diferentes aplicativos independentes - voce
       pode utilizar uma unica instalacao bootstrap do local::lib para
       instalar modulos em diretorios diferentes da seguinte forma:
         cd ~/meudir1
         perl -Mlocal::lib=./
         eval $(perl -Mlocal::lib=./)  ### Para configurar o ambiente apenas nessa shell
         printenv                      ### Veja que o ~/meudir1 esta na PERL5LIB
         perl -MCPAN -e install ...    ### Os modulos que quiser
         cd ../meudir2
         ... REPITA ...
       Para multiplos ambientes destinados a multiplos aplicativos, voce pode
       precisar incluir uma versao modificada das instrucoes de "use FindBin"
       no exemplo "No codigo" acima. Caso tenha feito algo como o que foi
       descrito acima, tera um conjunto de modulos Perl em "~/meudir1/lib".
       Caso tenha um script em "~/meudir1/scripts/meuscript.pl", voce
       precisara indicar a ele onde encontrar os modulos que instalou para ele
       em "~/meudir1/lib".
       Em "~/meudir1/scripts/meuscript.pl":
         use strict;
         use warnings;
         use local::lib "$FindBin::Bin/..";  ### aponta para ~/meudir1 e o local::lib acha o lib/
         use lib "$FindBin::Bin/../lib";     ### aponta para ~/meudir1/lib
       Coloque isso antes de qualquer bloco BEGIN { ... } que precise dos
       modulos instalados.
   Diferencas ao usar esse modulo em Win32
       Para configurar as variaveis de ambiente apropriadas para sua sessao
       atual do "CMD.exe", voce pode fazer assim:
         C:\>perl -Mlocal::lib
         set PERL_MB_OPT=--install_base C:\DOCUME~1\ADMINI~1\perl5
         set PERL_MM_OPT=INSTALL_BASE=C:\DOCUME~1\ADMINI~1\perl5
         set PERL5LIB=C:\DOCUME~1\ADMINI~1\perl5\lib\perl5;C:\DOCUME~1\ADMINI~1\perl5\lib\perl5\MSWin32-x86-multi-thread
         set PATH=C:\DOCUME~1\ADMINI~1\perl5\bin;%PATH%
         ### Para configurar o ambiente apenas dessa shell
         C:\>perl -Mlocal::lib > %TEMP%\tmp.bat && %TEMP%\tmp.bat && del %TEMP%\temp.bat
         ### em vez de $(perl -Mlocal::lib=./)
       Caso queira que as configuracoes do ambiente persistam, voce precisara
       adiciona-las em Painel de Controle -> Sistema, ou usar o
       App::local::lib::Win32Helper.
       O "~" e transformado no diretorio do perfil do usuario (o diretorio com
       o nome do usuario dentro de "Documents and Settings" (Windows XP ou
       anterior) ou "Usuarios" (Windows Vista e mais recentes)) a menos que
       $ENV{HOME} exista.  Apos isso, o nome do diretorio e encurtado e os
       subdiretorios sao criados (o que significa que o diretorio deve
       existir).
MOTIVACAO
       A versao de um pacote Perl na sua maquina nem sempre e a que voce
       precisa.  Obviamente, a melhor coisa a fazer seria atualiza-la para a
       versao desejada.  No entanto, voce pode estar em uma situacao que o
       impede de fazer isso.  Talvez voce nao tenha privilegios de
       administrador do sistema; ou talvez esteja usando um sistema de
       gerenciamento de pacotes como o do Debian, e ainda nao exista um pacote
       disponivel na versao desejada.
       local::lib resolve esse problema possibilitando a criacao de seu
       proprio diretorio de pacotes Perl obtidos do CPAN (em sistemas
       multi-usuario, isso normalmente fica dentro do diretorio de seu
       usuario). A instalacao do Perl no sistema permanece inalterada; voce
       simplesmente chama o Perl com opcoes especiais para que ele use os
       pacotes em seu diretorio local em vez dos pacotes do sistema. O
       local::lib organiza as coisas para que versoes dos pacotes Perl
       instalados localmente tenham precedencia sobre as do sistema.
       Caso esteja usando um sistema de gerenciamento de pacote (como em
       sistemas Debian), nao precisara se preocupar com conflitos entre o
       Debian e o CPAN.  Sua versao local dos pacotes sera instalada em um
       diretorio completamente diferente das versoes instaladas pelo
       gerenciador de pacotes do sistema.
DESCRICAO
       Este modulo oferece uma forma rapida e conveniente para criar um
       repositorio de modulos locais ao usuario, dentro do diretorio do mesmo.
       Ele tambem monta e exibe para o usuario uma lista de variaveis de
       ambiente utilizando a sintaxe da shell atual do usuario (conforme
       especificado pela variavel de ambiente "SHELL"), pronta para ser
       adicionada diretamente no arquivo de configuracao da shell.
       Generalizando, o local::lib permite a criacao e uso de um diretorio
       contendo modulos Perl fora do @INC do Perl. Isso facilita a producao de
       aplicacoes com uma versao especifica de determinado modulo, ou colecao
       de modulos.  Tambem e util quando o mantenedor de um modulo nao aplicou
       determinado patch que voce precisa para seu aplicativo.
       Durante o "import", o local::lib define valores apropriados para as
       seguintes variaveis de ambiente:
       PERL_MB_OPT
       PERL_MM_OPT
       PERL5LIB
       PATH
           valores serao anexados ao PATH, em vez de substitui-lo.
       Esses valores sao entao disponibilizados para referencia por qualquer
       outro codigo apos o "import".
CRIANDO UM CONJUNTO AUTO-CONTIDO DE MODULOS
       Veja lib::core::only para uma maneira de fazer isso - mas note que ha
       uma serie de ressalvas na abordagem, e a melhor forma e sempre fazer o
       'build' contra uma versao limpa do perl (i.e. com 'site' e 'vendor' o
       mais vazios possivel).
METODOS
   ensure_dir_structure_for
       Argumentos: $caminho_do_diretorio
       Valor de Retorno: Nenhum
       Tenta criar o caminho fornecido, e todos os diretorios superiores
       necessarios. Gera uma excecao em caso de falha.
   print_environment_vars_for
       Argumentos: $caminho_do_diretorio
       Valor de Retorno: Nenhum
       Exibe na saida padrao as variaveis listadas acima, devidamente
       ajustadas para utilizar o caminho fornecido como diretorio base.
   build_environment_vars_for
       Argumentos: $caminho_do_diretorio, $interpolar
       Valor de Retorno: %variaveis_de_ambiente
       Retorna hash contendo as variaveis de ambiente listadas acima,
       devidamente ajustadas para utilizar o caminho fornecido como diretorio
       base.
   setup_env_hash_for
       Argumentos: $caminho_do_diretorio
       Valor de Retorno: Nenhum
       Constroi as chaves no %ENV para o caminho fornecido, chamando
       "build_environment_vars_for".
   install_base_perl_path
       Argumentos: $caminho_do_diretorio
       Valor de Retorno: $caminho_base_de_instalacao
       Retorna um caminho de diretorio indicando onde instalar os modulos Perl
       para essa instalacao local de bibliotecas. Adiciona os diretorios "lib"
       e "perl5" ao final do caminho fornecido.
   install_base_arch_path
       Argumentos: $caminho_do_diretorio
       Valor de Retorno: $caminho_base_de_instalacao_arch
       Retorna um caminho de diretorio indicando onde instalar os modulos Perl
       de arquiteturas especificas para essa instalacao local de bibliotecas.
       Baseia-se no valor de retorno do metodo "install_base_perl_path",
       adicionando o valor de $Config{archname}.
   install_base_bin_path
       Argumentos: $caminho_do_diretorio
       Valor de Retorno: $caminho_base_de_instalacao_bin
       Retorna um caminho de diretorio indicando onde instalar programas
       executaveis para essa instalacao local de bibliotecas. Baseia-se no
       valor de retorno do metodo "install_base_perl_path", adicionando o
       diretorio "bin".
   resolve_empty_path
       Argumentos: $caminho_do_diretorio
       Valor de Retorno: $caminho_base_de_instalacao
       Cria e retorna o caminho de diretorio raiz em que a instalacao local de
       modulos deve ser feita. O padrao e "~/perl5".
   resolve_home_path
       Argumentos: $caminho_do_diretorio
       Valor de Retorno: $caminho_para_home
       Procura pelo diretorio padrao (home) do usuario. Caso esteja instalado,
       utiliza o "File::HomeDir" para isso. Gera uma excecao caso nao encontre
       resultado definitivo.
   resolve_relative_path
       Argumentos: $caminho_do_diretorio
       Valor de Retorno: $caminho_absoluto
       Transforma o caminho fornecido em um caminho absoluto.
   resolve_path
       Argumentos: $caminho_do_diretorio
       Valor de Retorno: $caminho_absoluto
       Invoca os seguintes metodos em sequencia, passando o resultado do
       metodo anterior para o seguinte, na tentativa de descobrir onde
       configurar o ambiente para a instalacao local de bibliotecas:
       "resolve_empty_path", "resolve_home_path", "resolve_relative_path".
       Passa o caminho de diretorio fornecido para "resolve_empty_path" que
       retorna um resultado que e passado para "resolve_home_path", que entao
       tem seu resultado passado para "resolve_relative_path". O resultado
       dessa chamada final e entao retornado pelo "resolve_path".
UM AVISO SOBRE UNINST=1
       Tenha cuidado ao usar o local::lib em conjunto com "make install
       UNINST=1".  A ideia dessa opcao e desinstalar a versao anterior de um
       modulo antes de instalar a mais recente. No entanto ela nao possui uma
       verificacao de seguranca de que a versao antiga e a nova referem-se ao
       mesmo diretorio.  Usada em combinacao com o local::lib, voce pode
       potencialmente apagar uma versao globalmente acessivel de um modulo e
       instalar a versao mais nova no diretorio local. Apenas utilize "make
       install UNINST=1" junto com o local::lib se voce entende essas
       possiveis consequencias.
LIMITACOES
       As ferramentas auxiliares do perl nao conseguem lidar com nomes de
       diretorios contendo espacos, entao nao e possivel fazer seu bootstrap
       do local::lib em um diretorio com espacos. O que voce pode fazer e
       mover seu local::lib para um diretorio com espacos apos ter instalado
       todos os modulos dentro dele. Mas esteja ciente que voce nao podera
       atualizar ou instalar outros modulos do CPAN nesse diretorio local apos
       a mudanca.
       A deteccao da shell e relativamente basica. Neste momento, qualquer
       coisa com csh no nome sera tratada como a C shell ou compativel, e todo
       o resto sera tratado como Bourne, exceto em sistemas Win32. Caso a
       variavel de ambiente "SHELL" nao esteja disponivel, assumiremos tratar-
       se de uma shell compativel com a Bourne.
       A tecnica de bootstrap e um hack e usara o CPAN.pm para o
       ExtUtils::MakeMaker mesmo que voce tenha o CPANPLUS instalado.
       Destroi qualquer valor pre-existente nas variaveis de ambiente
       PERL5LIB, PERL_MM_OPT e PERL_MB_OPT.
       Provavelmente deveria auto-configurar o CPAN caso isso ainda nao tenha
       sido feito.
       Correcoes (patches) sao muito bem-vindos para quaisquer dos itens
       acima.
       Em sistemas Win32, nao ha uma forma de escrever no registro as
       variaveis de ambiente criadas, para que elas persistam a uma
       reinicializacao.
SOLUCAO DE PROBLEMAS
       Se voce configurou o local::lib para instalar modulos do CPAN em algum
       lugar do seu 'home', e mais tarde tentou instalar um modulo fazendo
       "cpan -i Foo::Bar", mas ele falhou com um erro como: "Warning: You do
       not have permissions to install into
       /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux at
       /usr/lib64/perl5/5.8.8/Foo/Bar.pm" e em algum lugar no seu log de
       instalacao houver um erro dizendo "'INSTALL_BASE' is not a known
       MakeMaker parameter name", entao voce de alguma forma perdeu seu
       ExtUtils::MakeMaker atualizado.
       Para remediar a situacao, execute novamente o procedimento de bootstrap
       descrito acima.
       Entao, execute "rm -r ~/.cpan/build/Foo-Bar*"
       Finalmente, execute novamente o "cpan -i Foo::Bar" e ele deve instalar
       sem problemas.
AMBIENTE
       SHELL
       COMSPEC
           O local::lib procura pela variavel de ambiente "SHELL" do usuario
           ao processar e exibir os comandos a serem adicionados no arquivo de
           configuracao da shell.
           Em sistemas Win32, "COMSPEC" tambem sera examinado.
SUPORTE
       IRC:
           Acesse #local-lib em irc.perl.org.
AUTOR DA TRADUCAO
       Breno G. de Oliveira, "<garu at cpan.org>", apos ter perdido uma aposta
       para o Getty <http://search.cpan.org/~getty/>; durante a Copa de 2010.
COPYRIGHT
       Copyright (c) 2007 - 2010 "AUTHOR" in local::lib e "CONTRIBUTORS" in
       local::lib do local::lib como listados em local::lib.
LICENCA
       Esta biblioteca e software livre e pode ser distribuida sob os mesmo
       termos do perl.
perl v5.26.3                      2014-01-20        POD2::PT_BR::local::lib(3)