コマンドラインからTalend Perlのジョブを実行するときにファイルがありません
質問
Excelファイルからデータを抽出し、MySQLテーブルに配置するために、Simple Talend Perlジョブを作成しました。 Talend Studio 4.1.1で実行すると、これは正常に機能します。
問題は、私が仕事をエクスポートするときです。私はそうするようにそれを実行しようとします:
perl -ilib proj.job_import_prods_0.1.pl - context = default - context_param file_path = "/home/antoniocs/file.xls" $*
これにより、次のエラーが得られます。
@inc(@inc contains:/home/antoniocs/programming/lib/etc/perl/usr/local/lib/perl/5.10.1/usr/local/share/perl/in @inc(@incがcontains:/home/antoniocs/home/antoniocs/home/antoniocs/perl/)を見つけることができません。 5.10.1/usr/lib/perl5/usr/share/perl5/usr/lib/perl/5.10/usr/share/perl/5.10/usr/local/lib/site_perl。) 171.故障したことを開始 - lib/ole/storage_lite.pm line 171で中絶したコンパイル - lib/spradsheet/parseexcel.pm行でのコンピレーションが失敗しました。 。コンピレーションが失敗しましたproj.job_import_prods_0.1.pl line 568で必要です。
ジョブのフォルダーにparseexcel.pm int libフォルダーをすでに配置しています。必要なファイルをジョブのフォルダーに自動的に追加する方法はありませんか?
注:ジョブをエクスポートするときは、「エクスポート依存関係」をチェックしました。追加注:私はPerlプログラマではありません。
解決
あなたはどこで道を見つける必要があります talend
Perlモジュールを保存します(ファイルを移動するだけでは)。それがわかったら、aを作成できます 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-ScalarやDebianスタイルのボックスなどの名前を使用して、Libio-Scalar-Perlなどの名前を使用) CPAN.