GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  POD2::PT_BR::LOCAL::LIB (3)

.ds Aq ’

NAME

local::lib~[pt_br] - crie e use um direto\k:'lib/ local para mo\k:'perl com PERL5LIB

CONTENTS

SINOPSE

No co\k:'-



  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\k:` aplicac\k:,aõ



Pela linha de comando (shell) -



  # Instala o LWP e suas depende\k:^ncias naõ encontradas no direto\k:'~/perl5
  perl -MCPAN -Mlocal::lib -e CPAN::install(LWP)

  # Apenas exibe alguns comandos u\k:'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 te\k:'de ’bootstrapping’

Uma forma comum de instalar o local::lib e\k:'usando o que e\k:'conhecido como te\k:'de bootstrapping. E\k:'uma boa abordagem caso seu administrador de sistemas naõ tenha instalado o local::lib. Nesse caso, voce\k:^ precisara\k:'\h |\n:u instalar o local::lib em seu direto\k:'de usua\k:'\h |\n:urio.

Caso voce\k:^ tenha privile\k:'de administrador, ainda assim devera\k:'\h |\n:u configurar suas varia\k:'de ambiente, como discutido no passo 4, abaixo. Sem elas, voce\k:^ ainda instalara\k:'mo\k:'no CPAN do sistema e seus scripts Perl naõ utilizaraõ o caminho para o lib/ que voce\k:^ definiu com o local::lib.

Por padraõ, o local::lib instala os mo\k:'do CPAN e a si pro\k:'em ~/perl5.

Usua\k:'do Windows devem ler Diferenc\k:,as ao usar esse mo\k:'em Win32.

1. Baixe e descompacte o local::lib do CPAN (procure por Download na pa\k:'\h |\n:ugina do CPAN sobre o local::lib). Fac\k:,a isso como um usua\k:'comum, naõ como root ou administrador. Descompacte o arquivo em seu direto\k:'de usua\k:'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\k:^ provavelmente deve responder que sim (yes).

Para instalar o local::lib em um direto\k:'que naõ o padraõ, voce\k:^ precisara\k:'\h |\n:u especifica\k:'ao chamar o bootstrap, da seguinte forma:



  perl Makefile.PL --bootstrap=~/foo



3. Execute isso: (local::lib assume que voce\k:^ possui o comando ’make’ instalado em seu sistema)



  make test && make install



4. Agora precisamos configurar as varia\k:'de ambiente apropriadas para que o Perl use nosso rece\k:'direto\k:'lib/. Caso esteja usando bash ou outra shell Bourne, voce\k:^ pode fazer isso adicionando a seguinte linha em seu script de inicializac\k:,aõ 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 direto\k:'que naõ o padraõ, voce\k:^ precisara\k:'indica\k:'na chamada ao local::lib, dessa forma:



  echo eval $(perl -I$HOME/foo/lib/perl5 -Mlocal::lib=$HOME/foo) >>~/.bashrc



Apo\k:'atualizar seu arquivo de configurac\k:,aõ da shell, certifique-se de processa\k:'novamente para obter as modificac\k:,o\k:~es em sua shell atual. Shells Bourne usam . ~/.bashrc para isso, enquanto shells C usam source ~/.cshrc.

Se estiver em uma ma\k:'lenta ou operando com grandes limitac\k:,o\k:~es de espac\k:,o em disco, voce\k:^ pode desativar a gerac\k:,aõ automa\k:'de manpages a partir do POD ao instalar mo\k:'Para isso, basta passar o argumento --no-manpages durante o bootstrap:



  perl Makefile.PL --bootstrap --no-manpages



Para evitar ter que fazer va\k:'bootstraps para va\k:'ambientes de mo\k:'Perl na mesma conta de usua\k:'- por exemplo se voce\k:^ usa o local::lib para desenvolver diferentes aplicativos independentes - voce\k:^ pode utilizar uma u\k:'instalac\k:,aõ bootstrap do local::lib para instalar mo\k:'em direto\k:'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\k:'na PERL5LIB
  perl -MCPAN -e install ...    ### Os mo\k:'que quiser
  cd ../meudir2
  ... REPITA ...



Para mu\k:'ambientes destinados a mu\k:'aplicativos, voce\k:^ pode precisar incluir uma versaõ modificada das instruc\k:,o\k:~es de use FindBin no exemplo No co\k:'acima. Caso tenha feito algo como o que foi descrito acima, tera\k:'um conjunto de mo\k:'Perl em ~/meudir1/lib. Caso tenha um script em ~/meudir1/scripts/meuscript.pl, voce\k:^ precisara\k:'\h |\n:u indicar a ele onde encontrar os mo\k:'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 mo\k:'instalados.

    Diferenc\k:,as ao usar esse mo\k:'em Win32

Para configurar as varia\k:'de ambiente apropriadas para sua sessaõ atual do CMD.exe, voce\k:^ 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 configurac\k:,o\k:~es do ambiente persistam, voce\k:^ precisara\k:'\h |\n:u adiciona\k:'em Painel de Controle -> Sistema, ou usar o App::local::lib::Win32Helper.

O ~ e\k:'transformado no direto\k:'do perfil do usua\k:'(o direto\k:'com o nome do usua\k:'dentro de Documents and Settings (Windows XP ou anterior) ou Usua\k:'(Windows Vista e mais recentes)) a menos que $ENV{HOME} exista. Apo\k:'isso, o nome do direto\k:'e\k:'encurtado e os subdireto\k:'saõ criados (o que significa que o direto\k:'deve existir).

MOTIVAC\k:,AÕ

A versaõ de um pacote Perl na sua ma\k:'nem sempre e\k:'a que voce\k:^ precisa. Obviamente, a melhor coisa a fazer seria atualiza\k:'para a versaõ desejada. No entanto, voce\k:^ pode estar em uma situac\k:,aõ que o impede de fazer isso. Talvez voce\k:^ naõ tenha privile\k:'de administrador do sistema; ou talvez esteja usando um sistema de gerenciamento de pacotes como o do Debian, e ainda naõ exista um pacote disponi\k:'na versaõ desejada.

local::lib resolve esse problema possibilitando a criac\k:,aõ de seu pro\k:'\h |\n:uprio direto\k:'de pacotes Perl obtidos do CPAN (em sistemas multi-usua\k:'isso normalmente fica dentro do direto\k:'de seu usua\k:'A instalac\k:,aõ do Perl no sistema permanece inalterada; voce\k:^ simplesmente chama o Perl com opc\k:,o\k:~es especiais para que ele use os pacotes em seu direto\k:'local em vez dos pacotes do sistema. O local::lib organiza as coisas para que verso\k:~es dos pacotes Perl instalados localmente tenham precede\k:^ncia sobre as do sistema.

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

DESCRIC\k:,AÕ

Este mo\k:'oferece uma forma ra\k:'e conveniente para criar um reposito\k:'\h |\n:urio de mo\k:'locais ao usua\k:'dentro do direto\k:'do mesmo. Ele tambe\k:'monta e exibe para o usua\k:'uma lista de varia\k:'de ambiente utilizando a sintaxe da shell atual do usua\k:'(conforme especificado pela varia\k:'\h |\n:uvel de ambiente SHELL), pronta para ser adicionada diretamente no arquivo de configurac\k:,aõ da shell.

Generalizando, o local::lib permite a criac\k:,aõ e uso de um direto\k:'contendo mo\k:'Perl fora do @INC do Perl. Isso facilita a produc\k:,aõ de aplicac\k:,o\k:~es com uma versaõ especi\k:'de determinado mo\k:'ou colec\k:,aõ de mo\k:'\h |\n:udulos. Tambe\k:'e\k:'u\k:'quando o mantenedor de um mo\k:'naõ aplicou determinado patch que voce\k:^ precisa para seu aplicativo.

Durante o import, o local::lib define valores apropriados para as seguintes varia\k:'de ambiente:
PERL_MB_OPT
PERL_MM_OPT
PERL5LIB
PATH valores seraõ anexados ao PATH, em vez de substitui\k:'\h |\n:u-lo.
Esses valores saõ entaõ disponibilizados para refere\k:^ncia por qualquer outro co\k:'apo\k:'o import.

CRIANDO UM CONJUNTO AUTO-CONTIDO DE MO\k:'\h |\n:uDULOS

Veja lib::core::only para uma maneira de fazer isso - mas note que ha\k:'uma se\k:'de ressalvas na abordagem, e a melhor forma e\k:'sempre fazer o ’build’ contra uma versaõ limpa do perl (i.e. com ’site’ e ’vendor’ o mais vazios possi\k:'\h |\n:uvel).

ME\k:'\h |\n:uTODOS

    ensure_dir_structure_for

Argumentos: $caminho_do_diretorio
Valor de Retorno: Nenhum
Tenta criar o caminho fornecido, e todos os direto\k:'superiores necessa\k:'Gera uma excec\k:,aõ em caso de falha.

    print_environment_vars_for

Argumentos: $caminho_do_diretorio
Valor de Retorno: Nenhum
Exibe na sai\k:'padraõ as varia\k:'listadas acima, devidamente ajustadas para utilizar o caminho fornecido como direto\k:'base.

    build_environment_vars_for

Argumentos: $caminho_do_diretorio, $interpolar
Valor de Retorno: %variaveis_de_ambiente
Retorna hash contendo as varia\k:'de ambiente listadas acima, devidamente ajustadas para utilizar o caminho fornecido como direto\k:'base.

    setup_env_hash_for

Argumentos: $caminho_do_diretorio
Valor de Retorno: Nenhum
Constroí 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 direto\k:'indicando onde instalar os mo\k:'Perl para essa instalac\k:,aõ local de bibliotecas. Adiciona os direto\k:'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 direto\k:'indicando onde instalar os mo\k:'Perl de arquiteturas especi\k:'para essa instalac\k:,aõ local de bibliotecas. Baseia-se no valor de retorno do me\k:'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 direto\k:'indicando onde instalar programas executa\k:'\h |\n:uveis para essa instalac\k:,aõ local de bibliotecas. Baseia-se no valor de retorno do me\k:'install_base_perl_path, adicionando o direto\k:'bin.

    resolve_empty_path

Argumentos: $caminho_do_diretorio
Valor de Retorno: $caminho_base_de_instalacao
Cria e retorna o caminho de direto\k:'raiz em que a instalac\k:,aõ local de mo\k:'deve ser feita. O padraõ e\k:'~/perl5.

    resolve_home_path

Argumentos: $caminho_do_diretorio
Valor de Retorno: $caminho_para_home
Procura pelo direto\k:'padraõ (home) do usua\k:'Caso esteja instalado, utiliza o File::HomeDir para isso. Gera uma excec\k:,aõ caso naõ 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 me\k:'em seque\k:^ncia, passando o resultado do me\k:'\h |\n:utodo anterior para o seguinte, na tentativa de descobrir onde configurar o ambiente para a instalac\k:,aõ local de bibliotecas: resolve_empty_path, resolve_home_path, resolve_relative_path. Passa o caminho de direto\k:'fornecido para resolve_empty_path que retorna um resultado que e\k:'passado para resolve_home_path, que entaõ tem seu resultado passado para resolve_relative_path. O resultado dessa chamada final e\k:'entaõ retornado pelo resolve_path.

UM AVISO SOBRE UNINST=1

Tenha cuidado ao usar o local::lib em conjunto com make install UNINST=1. A ideía dessa opc\k:,aõ e\k:'desinstalar a versaõ anterior de um mo\k:'antes de instalar a mais recente. No entanto ela naõ possui uma verificac\k:,aõ de seguranc\k:,a de que a versaõ antiga e a nova referem-se ao mesmo direto\k:'\h |\n:urio. Usada em combinac\k:,aõ com o local::lib, voce\k:^ pode potencialmente apagar uma versaõ globalmente acessi\k:'de um mo\k:'e instalar a versaõ mais nova no direto\k:'local. Apenas utilize make install UNINST=1 junto com o local::lib se voce\k:^ entende essas possi\k:'conseque\k:^ncias.

LIMITAC\k:,O\k:~ES

As ferramentas auxiliares do perl naõ conseguem lidar com nomes de direto\k:'contendo espac\k:,os, entaõ naõ e\k:'possi\k:'fazer seu bootstrap do local::lib em um direto\k:'com espac\k:,os. O que voce\k:^ pode fazer e\k:'mover seu local::lib para um direto\k:'com espac\k:,os <B>apo\k:'ter instalado todos os mo\k:'dentro dele. Mas esteja ciente que voce\k:^ naõ podera\k:'atualizar ou instalar outros mo\k:'do CPAN nesse direto\k:'local apo\k:'a mudanc\k:,a.

A detecc\k:,aõ da shell e\k:'relativamente ba\k:'Neste momento, qualquer coisa com csh no nome sera\k:'tratada como a C shell ou compati\k:'e todo o resto sera\k:'tratado como Bourne, exceto em sistemas Win32. Caso a varia\k:'de ambiente B>SHELL naõ esteja disponi\k:'assumiremos tratar-se de uma shell compati\k:'com a Bourne.

A te\k:'de bootstrap e\k:'um hack e usara\k:'o CPAN.pm para o ExtUtils::MakeMaker mesmo que voce\k:^ tenha o CPANPLUS instalado.

Destroí qualquer valor pre\k:'nas varia\k:'de ambiente PERL5LIB, PERL_MM_OPT e PERL_MB_OPT.

Provavelmente deveria auto-configurar o CPAN caso isso ainda naõ tenha sido feito.

Correc\k:,o\k:~es (patches) saõ muito bem-vindos para quaisquer dos itens acima.

Em sistemas Win32, naõ ha\k:'uma forma de escrever no registro as varia\k:'\h |\n:uveis de ambiente criadas, para que elas persistam a uma reinicializac\k:,aõ.

SOLUC\k:,AÕ DE PROBLEMAS

Se voce\k:^ configurou o local::lib para instalar mo\k:'do CPAN em algum lugar do seu ’home’, e mais tarde tentou instalar um mo\k:'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 instalac\k:,aõ houver um erro dizendo INSTALL_BASE is not a known MakeMaker parameter name, entaõ voce\k:^ de alguma forma perdeu seu ExtUtils::MakeMaker atualizado.

Para remediar a situac\k:,aõ, execute novamente o procedimento de bootstrap descrito acima.

Entaõ, 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 varia\k:'de ambiente SHELL do usua\k:'ao processar e exibir os comandos a serem adicionados no arquivo de configurac\k:,aõ da shell.

Em sistemas Win32, COMSPEC tambe\k:'sera\k:'examinado.

SUPORTE

IRC:



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



AUTOR DA TRADUC\k:,AÕ

Breno G. de Oliveira, <garu at cpan.org>, apo\k:'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.

LICENC\k:,A

Esta biblioteca e\k:'software livre e pode ser distribui\k:'sob os mesmo termos do perl.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 POD2::PT_BR::LOCAL::LIB (3) 2014-01-20

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.