Как можно не найти DateTime.pm, даже если я установил его из cpan и cpanm? Но все равно получите ошибку, которую не можете найти в @INC? Это не дубликат, потому что я не спрашиваю о том, кто должен загружать модуль - как я сказал, я пытался установить его из 2 источников, и я сделал, но все равно ошибка Can't locate DateTime.pm in @INC
. Я понятия не имею, что я делаю неправильно.
код прост:
#!/usr/bin/perl
use DateTime;
my $t = localtime;
my $now = DateTime->new(
year => $t->year,
month => $t->mon,
day => $t->mday,
);
print $now
и ошибка:
Can't locate DateTime.pm in @INC (you may need to install the DateTime module) (@INC contains:
/etc/perl
/usr/local/lib/x86_64-linux-gnu/perl/5.28.1
/usr/local/share/perl/5.28.1
/usr/lib/x86_64-linux-gnu/perl5/5.28
/usr/share/perl5
/usr/lib/x86_64-linux-gnu/perl/5.28
/usr/share/perl/5.28
/usr/local/lib/site_perl
/usr/lib/x86_64-linux-gnu/perl-base
) at ./a line 2.
Кажется, я не могу найти DateTime.pm, ноУ меня есть они здесь:
/home/shepherd/.cpan/build/DateTime-1.51-0/blib/lib/DateTime.pm
/home/shepherd/.cpan/build/DateTime-1.51-0/lib/DateTime.pm
/home/shepherd/.cpan/build/DateTime-TimeZone-2.37-0/t/lib/T/RequireDateTime.pm
/home/shepherd/.cpanm/work/1572257193.20577/DateTime-1.51/lib/DateTime.pm
/home/shepherd/.cpanm/work/1572257193.20577/DateTime-TimeZone-2.37/t/lib/T/RequireDateTime.pm
/home/shepherd/.cpanm/work/1572257544.21848/DateTime-1.51/lib/DateTime.pm
/home/shepherd/.cpanm/work/1572257544.21848/DateTime-TimeZone-2.37/t/lib/T/RequireDateTime.pm
Что, черт возьми, происходит?
Некоторая информация, которая может быть полезна:
$ which cpan
/usr/bin/cpan
$ head -n 1 `which cpan`
usr/bin/perl
$ which cpanm
/usr/bin/cpanm
$ head -n 1 `which cpanm`
usr/bin/perl
$ /usr/bin/perl -V:'inst.*lib'
installarchlib='/usr/lib/x86_64-linux-gnu/perl/5.28';
installprivlib='/usr/share/perl/5.28'
installsitelib='/usr/local/share/perl/5.28.1'
installvendorlib='/usr/share/perl5'
@INC (when 'use DateTime;')
/etc/perl
/usr/local/lib/x86_64-linux-gnu/perl/5.28.1
/usr/local/share/perl/5.28.1
/usr/lib/x86_64-linux-gnu/perl5/5.28
/usr/share/perl5
/usr/lib/x86_64-linux-gnu/perl/5.28
/usr/share/perl/5.28
/usr/local/lib/site_perl
/usr/lib/x86_64-linux-gnu/perl-base
команда set | grep ^PERL
ничего не повторяет, я пробовал set | grep -i perl
, но только что упоминалось в некоторых операторах if, например: if type perl &> /dev/null; then
. И вторая команда echo 'o conf' | cpan
такая: Loading internal logger. Log::Log4perl recommended for better logging There seems to be running another CPAN process (pid 2023). Contacting... Other job not responding. Shall I overwrite the lockfile '/home/shepherd/.cpan/.lock'? (Y/n) [y] Ok, bye