POD2::PT_BR::local::lib(3pm) - phpMan

Command: man perldoc info search(apropos)  


POD2::PT_BR::local::lib(3)     User Contributed Perl Documentation     POD2::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 aplicaca~o

       Pela linha de comando (shell) -

         # Instala o LWP e suas dependencias na~o 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 na~o 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 na~o utilizara~o o caminho para o lib/ que voce
       definiu com o local::lib.

       Por padra~o, 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, na~o 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 na~o o padra~o, 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 inicializaca~o 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 na~o o padra~o, 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 configuraca~o da shell, certifique-se de processa-lo
       novamente para obter as modificaco~es 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 limitaco~es de espaco em disco,
       voce pode desativar a geraca~o 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 instalaca~o 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 versa~o modificada das instruco~es 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 sessa~o 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 configuraco~es 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 sa~o criados (o que significa que o diretorio deve existir).

MOTIVACA~O
       A versa~o 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 versa~o desejada.  No entanto, voce pode
       estar em uma situaca~o que o impede de fazer isso.  Talvez voce na~o tenha privilegios de
       administrador do sistema; ou talvez esteja usando um sistema de gerenciamento de pacotes
       como o do Debian, e ainda na~o exista um pacote disponivel na versa~o desejada.

       local::lib resolve esse problema possibilitando a criaca~o de seu proprio diretorio de
       pacotes Perl obtidos do CPAN (em sistemas multi-usuario, isso normalmente fica dentro do
       diretorio de seu usuario). A instalaca~o do Perl no sistema permanece inalterada; voce
       simplesmente chama o Perl com opco~es 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
       verso~es dos pacotes Perl instalados localmente tenham precedencia sobre as do sistema.

       Caso esteja usando um sistema de gerenciamento de pacote (como em sistemas Debian), na~o
       precisara se preocupar com conflitos entre o Debian e o CPAN.  Sua versa~o local dos
       pacotes sera instalada em um diretorio completamente diferente das verso~es instaladas
       pelo gerenciador de pacotes do sistema.

DESCRICA~O
       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 configuraca~o da shell.

       Generalizando, o local::lib permite a criaca~o e uso de um diretorio contendo modulos Perl
       fora do @INC do Perl. Isso facilita a produca~o de aplicaco~es com uma versa~o especifica
       de determinado modulo, ou coleca~o de modulos.  Tambem e util quando o mantenedor de um
       modulo na~o 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 sera~o anexados ao PATH, em vez de substitui-lo.

       Esses valores sa~o enta~o 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 versa~o 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
       exceca~o em caso de falha.

   print_environment_vars_for
       Argumentos: $caminho_do_diretorio
       Valor de Retorno: Nenhum

       Exibe na saida padra~o 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
       instalaca~o 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 instalaca~o 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
       instalaca~o 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 instalaca~o local de modulos deve ser
       feita. O padra~o e "~/perl5".

   resolve_home_path
       Argumentos: $caminho_do_diretorio
       Valor de Retorno: $caminho_para_home

       Procura pelo diretorio padra~o (home) do usuario. Caso esteja instalado, utiliza o
       "File::HomeDir" para isso. Gera uma exceca~o caso na~o 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 instalaca~o 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 enta~o tem seu resultado passado para
       "resolve_relative_path". O resultado dessa chamada final e enta~o 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
       opca~o e desinstalar a versa~o anterior de um modulo antes de instalar a mais recente. No
       entanto ela na~o possui uma verificaca~o de seguranca de que a versa~o antiga e a nova
       referem-se ao mesmo diretorio.  Usada em combinaca~o com o local::lib, voce pode
       potencialmente apagar uma versa~o globalmente acessivel de um modulo e instalar a versa~o
       mais nova no diretorio local. Apenas utilize "make install UNINST=1" junto com o
       local::lib se voce entende essas possiveis consequencias.

LIMITACO~ES
       As ferramentas auxiliares do perl na~o conseguem lidar com nomes de diretorios contendo
       espacos, enta~o na~o 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 na~o podera
       atualizar ou instalar outros modulos do CPAN nesse diretorio local apos a mudanca.

       A detecca~o 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" na~o 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 na~o tenha sido feito.

       Correco~es (patches) sa~o muito bem-vindos para quaisquer dos itens acima.

       Em sistemas Win32, na~o ha uma forma de escrever no registro as variaveis de ambiente
       criadas, para que elas persistam a uma reinicializaca~o.

SOLUCA~O 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 instalaca~o houver um erro dizendo "'INSTALL_BASE' is not a
       known MakeMaker parameter name", enta~o voce de alguma forma perdeu seu
       ExtUtils::MakeMaker atualizado.

       Para remediar a situaca~o, execute novamente o procedimento de bootstrap descrito acima.

       Enta~o, 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 configuraca~o da shell.

           Em sistemas Win32, "COMSPEC" tambem sera examinado.

SUPORTE
       IRC:

           Acesse #local-lib em irc.perl.org.

AUTOR DA TRADUCA~O
       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.16.3                                2013-02-12                 POD2::PT_BR::local::lib(3)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2024-04-27 06:33 @3.144.143.31 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0!Valid CSS!