Пропущенные файлы при запуске задания Talend Perl из командной строки

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

  •  09-10-2019
  •  | 
  •  

Вопрос

Я создал простую задачу Talend Perl для извлечения данных из файла Excel и поместить его в таблицу MySQL. Это отлично работает, когда я бегу в Talend Studio 4.1.1.

Проблема в том, когда я экспортирую работу. Я стараюсь бежать так:

perl -ilib proj.job_import_prods_0.1.pl --context = по умолчанию --context_param file_path = "/ home / antoniocs / Программирование / file.xls" $ *

Это дает мне следующие ошибки:

Не могу найти IO / Scalar.pm в @inc (@inc содержит: / home / antoniocs / Программирование / lib / etc / perl /usr/local/lib/perl/5.10.1 / usr / local / perl / perl / 5.10.1 / usr / lib / perl5 / usr / share / perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/share/perl/5.10 / usr / local / lib / site_perl.) На линейке Lib / Ole / Store_lite.pm 171. Начните неудачу - компиляция прервана на линии Lib / OLe / Store_Lite.pm 171. Сборник не удалось в требованиях в Lib / SpreateSeeSt / Parseexcel.pm Line 18. Начните неудачно - компиляция прервана в Lib / SpreateSeet / Parseexcel.pm линия 18 , Компиляция не удалась в требовании в Proj.job_import_prods_0.1.pl 568. Начните неудачно - компиляция прервана на линии Proj.job_import_prods_0.1.pl 568.

Я уже разместил ParseExcel.pm int папку lib в папке работы. Нет ли никаких Talend, автоматически добавит необходимые файлы в папку «Работа»?

Примечание. При экспорте задания я проверил поле «Экспорт зависимости» дополнительной заметки: я не программист Perl.

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

Решение

Вам нужно найти путь, где talend Магазины модулей Perl (вы не можете просто переместить файлы вокруг). Как только вы знаете, что вы можете создать PERL5LIB переменная среды, чтобы сказать perl где хранятся модули, которые он ищет:

PERL5LIB=/path/to/modules perl -Ilib proj.job_import_prods_0.1.pl --context=Default --context_param file_path="/home/antoniocs/programming/file.xls" $*

Быстрый find /where/talend/lives -name Scalar.pm должен дать вам подсказку (вы хотите каталог раньше IO). Если вы зарабатываете, нуждаетесь в нескольких каталогах, они могут быть разделены с : Как и в PATH Переменная среды.

В качестве альтернативы вы можете установить необходимые модули из вашего менеджера пакетов (подсказка, ящики в стиле Redhat используют имена, такие как Perl-IO-скалярные и дебичные ящики, используют имена, такие как libio-scalar-perl) или Кабинет.

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