ใน Fedora โปรแกรม Perl ไม่สามารถหา Time :: Piece library


1

ฉันมีโปรแกรม Perl ชื่อ /usr/bin/octbatch ทำงานเป็นสคริปต์บน Fedora 17 Linux

เมื่อฉันเรียกใช้คำสั่งนี้:

/usr/bin/octbatch

ฉันได้รับข้อผิดพลาด:

Can't locate Time/Piece.pm in @INC (@INC contains: 
/usr/local/lib64/perl5 /usr/local/share/perl5 
/usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl 
/usr/lib64/perl5 /usr/share/perl5) at /usr/bin/octbatch line 6.
BEGIN failed--compilation aborted at /usr/bin/octbatch line 6.

นี่คือบรรทัดที่เกี่ยวข้องของสคริปต์ Perl:

#!/usr/bin/perl -wT

$ENV{PATH} = "/bin:/usr/bin:/usr/local/bin";
use strict;
use POSIX qw(setsid :sys_wait_h);

use Time::Piece;
use Time::Local;

ฉันต้องติดตั้ง Piece.pm เพื่อให้ Perl สามารถหาได้ ฉันได้ติดตั้งไว้แล้วด้วยคำสั่งนี้ (ใช้ค่าเริ่มต้น):

/usr/bin/perl -MCPAN -e install Time::Piece

ฉันมีไฟล์ Piece.pm มา /home/el/perl5/lib/perl5/x86_64-linux-thread-multi/ อย่างไรก็ตามเมื่อฉันเรียกใช้คำสั่ง octbatch ฉันได้รับข้อผิดพลาดเดียวกันข้างต้น มันไม่สามารถแม้แต่จะค้นหาได้

นี่คือตัวแปร PERL5LIB ของฉัน:

el@defiant ~/gnuoctbluehost/single_stock_analysis $ env | grep PERL5

PERL5LIB=/home/el/perl5/lib/perl5/x86_64-linux-thread-multi:/home/el/perl5/lib/perl5

และ Piece.pm ตั้งอยู่ใต้ / home / el / perl5 / lib / perl5 / x86_64-linux-thread-multi

ดังนั้นคำถามของฉันคือทำไมไม่ค้นหาไฟล์ Piece.pm ของฉัน และอะไรคือวิธีที่ฉันจะได้รับตัวแปร @INC เพื่อรวมไว้ หรือฉันจะทำให้ Perl ดูได้อย่างไร

คำตอบ:


2

Fedora 17 รวมถึงเวลา :: ชิ้นส่วน

ใช้คำสั่ง: yum install perl-Time-Piece

คุณสามารถค้นหาด้วยการค้นหาของ Google: fedora 17 Time-Piece และกดลิงค์แรก

หลีกเลี่ยงการรวมเส้นทางและไลบรารีด้วยตนเอง:

ตรวจสอบให้แน่ใจว่าบรรทัดต่อไปนี้มาก่อน use Time::Piece; แต่หลังจากนั้น #!/usr/bin/perl -wT.

use lib "/home/el/perl5/lib/perl5/x86_64-linux-thread-multi";

ซึ่งบอกโปรแกรม Perl ของฉันที่จะมองหาเวลา :: ชิ้น จากนั้นโปรแกรมจะทำงาน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.