Что показывает which cpanm
из командной строки?Для вас это должно сообщить:
/home/dave/perl5/perlbrew/bin/cpanm
Если все в порядке, то что показывает ls -l /home/dave/perl5/perlbrew/bin/cpanm
?Он должен указывать на:
cpanm -> /home/dave/perl5/perlbrew/perls/current/bin/cpanm
И, наконец, ls -l /Users/barry/perl5/perlbrew/perls/current
должен указывать на Perl, на который вы переключились в perlbrew
:
/home/dave/perl5/perlbrew/perls/current -> perl-5.12.2
Все три из них должны быть такими, иначе что-то не так.
Если это не так, одна из вероятных проблем заключается в том, что cpanm
указывает на другой установленный Perl.Вам необходимо установить cpanm
для каждой версии perl в perlbrew
:
perlbrew switch perl-5.12.2
curl -L http://cpanmin.us | perl - App::cpanminus
Теперь, если which cpanm
по-прежнему не показываетperlbrew
path, тогда у вас есть $PATH
проблема приоритета в вашем .bash_profile
(или эквивалентном) файле.Это можно исправить, убедившись, что ваша perlbrew
строка ...
source /home/dave/perl5/perlbrew/etc/bashrc
... в файле профиля находится после любых других export $PATH
строк.
После повторного входа в систему вы можете подтвердить, что это правильно, выполнив echo $PATH
, и вы должны увидеть perlbrew
в начале (слева) строки пути, т.е.как то так:
/home/dave/perl5/perlbrew/bin:/home/dave/perl5/perlbrew/perls/current/bin:/usr/bin:/bin:/usr/local/bin: