FreeBSD: Can't locate Term/ReadKey.pm in @INC

Автор: | 08/14/2013
 

freebsd_logoПри запуске innotop система сообщила об ошибке:

# innotop
Can't locate Term/ReadKey.pm in @INC (@INC contains: /usr/local/lib/perl5/5.14/BSDPAN /usr/local/lib/perl5/site_perl/5.14/mach /usr/local/lib/perl5/site_perl/5.14 /usr/local/lib/perl5/5.14/mach /usr/local/lib/perl5/5.14 .) at /usr/local/bin/innotop line 1412.
BEGIN failed--compilation aborted at /usr/local/bin/innotop line 1412.

Операционная система:

# uname -srmi
FreeBSD 9.0-RELEASE-p3 i386 GENERIC

Для решения проблемы — установим порт:

# cd /usr/ports/devel/p5-Term-ReadKey/ && make install clean

Если он уже установлен:

===>   p5-Term-ReadKey-2.30 is already installed

То можно выполнить принудительное обновление, запустив portupgrade с ключём -f:

# portupgrade -frRb p5-Term-ReadKey-2.30

Тут стоит отметить, что portupgrade с ключами -r и -R займут довольно много времени, так как будут пересобраны все зависимости, в том числе сам Perl. Зато — точно не будет конфликтов из-за различия версий.

Другой вариант — просто его удалить и собрать заново:

# cd /usr/ports/devel/p5-Term-ReadKey/ && make deinstall
# make reinstall

Подобная проблема встречалась и в Debian и описана в статье Debian: innotop — Can’t locate Term/ReadKey.pm in @INC.