contras pode encontrar executáveis ??no meu caminho?
Pergunta
Eu estou tentando depurar um script cons
, eo problema que estou tendo é que um executável em minha própria $PATH
não parece ser localizado. Em suma:? Can cons
achado executáveis ??no meu caminho
Isto pode parecer uma pergunta boba, desde o FAQ diz
Contras não passa ambiente do usuário para os processos filho que bifurca para construir o software. Qualquer coisa que você precisa ou quer passar do ambiente do usuário deve ser feito de forma tão explícita.
Não é claro para mim, no entanto, que cons
não deve ser capaz de ver a minha $PATH
(acima está redigido de tal forma que eu não esperaria processos filhos para ter acesso a qualquer das variáveis ??de ambiente). Na execução do Construct
, avalia $PATH
para esvaziar mas $ENV{PATH}
contém o meu caminho.
Não ajuda que eu não sei cons
nem Perl
, então eu realmente não sei o que estou fazendo, nem por onde começar a olhar para o que está causando o problema :)
Por que vale a pena, o script que não funciona para mim, mas não funciona para o autor original do script, está localizado aqui .
Solução
Por que vale a pena, a diretriz na FAQ é correto em que algo como isso vai resolver o problema:
# A standard construction environment.
$env = new cons(
ENV => { PATH => $ENV{PATH} }
);
qual pode então ser seguida por, por exemplo,
Command $env 'foo', qq(echo =`which tex`=);
para executar / instalação / configuração / que você está fazendo com o script cons
.