Могут ли cons найти исполняемые файлы на моем пути?

StackOverflow https://stackoverflow.com/questions/790971

  •  16-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь отладить cons скрипт, и проблема, с которой я сталкиваюсь, заключается в том, что исполняемый файл в моем собственном $PATH похоже, он не обнаружен.Короче говоря:Может cons найти исполняемые файлы на моем пути?

Это может показаться глупым вопросом, поскольку часто задаваемые вопросы говорит

Cons не передает пользовательскую среду дочерним процессам, которые она разветвляет для сборки программного обеспечения.Все, что вам нужно или что вы хотите передать из среды пользователя, должно быть сделано таким образом явно.

Однако мне не ясно, что cons не должен быть в состоянии видеть мой $PATH (приведенное выше сформулировано таким образом, что я бы не ожидал, что дочерние процессы будут иметь доступ к какой-либо из переменных среды).При исполнении Construct, $PATH вычисляется как пустое, но $ENV{PATH} действительно содержит мой путь.

То, что я не знаю, не помогает cons ни Perl, так что я действительно не знаю, что я делаю, и с чего начать искать причину проблемы :) Как бы то ни было, сценарий, который не работает у меня, но работает у оригинального автора сценария, находится здесь.

Это было полезно?

Решение

Как бы то ни было, рекомендации в FAQ верны в том смысле, что что-то подобное решит проблему:

# A standard construction environment.
$env = new cons(
   ENV => { PATH => $ENV{PATH} }
);

за которым затем может последовать, например,

Command $env 'foo', qq(echo =`which tex`=);

для запуска / установки / сборки / всего, что вы делаете с cons сценарий.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top