[英]Can't locate DBI.pm in @INC can't resolve
錯誤提示:
Can't locate DBI.pm in @INC (@INC contains
/etc/perl
/usr/local/lib/perl/5.14.2
/usr/local/share/perl/5.14.2
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.14
/usr/share/perl/5.14
/usr/local/lib/site_perl .) at /usr/lib/cgi-bin/helloworld.pl line 7.
但是我已經使用以下命令將模塊的路徑添加到環境變量中
export PERL5LIB=/home/vagrant/perl5/lib/perl5/i686-linux-gnu-thread-multi-64int
當我使用perl -V
檢查時,它已經包含在內,請參見以下內容:
%ENV:
PERL5LIB="/home/vagrant/perl5/lib/perl5"
PERL_LOCAL_LIB_ROOT="/home/vagrant/perl5"
PERL_MB_OPT="--install_base "/home/vagrant/perl5""
PERL_MM_OPT="INSTALL_BASE=/home/vagrant/perl5"
@INC:
/home/vagrant/perl5/lib/perl5/5.14.2/i686-linux-gnu-thread-multi-64int
/home/vagrant/perl5/lib/perl5/5.14.2
/home/vagrant/perl5/lib/perl5/i686-linux-gnu-thread-multi-64int <--- My module
/home/vagrant/perl5/lib/perl5
/etc/perl
/usr/local/lib/perl/5.14.2
/usr/local/share/perl/5.14.2
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.14
/usr/share/perl/5.14
/usr/local/lib/site_perl
我的機器是Ubuntu 16.04.2 LTS
非常感謝您的幫助,謝謝!
請參閱文件“使用LIB” 這里和“perl的運行” 這里和Ubuntu環境變量這里 。
我懷疑您是在不同環境中運行腳本。 您的shell提示符與httpd服務器使用的環境不同,也與cron程序使用的環境不同。 當您向環境中添加環境變量時,它僅在您的環境中(並且通常僅在您的環境實例中),而不在其他環境中。 這些其他應用程序無法查看或讀取您的環境變量。
我猜這里是因為您未提供任何代碼,因此在“使用DBI”之前向腳本添加以下行可能會幫助您:
use lib "/home/vagrant/perl5/lib/perl5";
use lib "/home/vagrant/perl5/lib/perl5/i686-linux-gnu-thread-multi-64int";
我說這可能是因為,正如偉大的池上指出,如果這個單獨的應用程序的環境沒有訪問您的目錄,那么就不會這些文件夾添加到列表@INC。 您發布的輸出的第一部分清楚地表明您的主文件夾不在列表中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.