У меня не было проблем с добавлением новых пакетов CPAN в поставляемый Perl OSX El Capitan. По умолчанию они встроены в ваш домашний каталог и установлены в /Library/Perl/5.18/
доступном для записи с правами root.
Упоминаемый вами префикс /sw/
, похоже, происходит из установки Fink . Если вы ранее установили другой Perl из Fink, вам, вероятно, необходимо обновить установку Fink и обновить пакет perl, исходящий от него.
Если вы уверены, что не используете Fink и хотите запустить другую версию Perl, кроме той, которая поставляется с OS X, вы можете использовать ту из homebrew. Он будет установлен в /usr/local
и будет доступен для его вызова, но все Perl-программы OSX будут продолжать использовать версию perl, поставляемую с OSX. Помните, что Fink и Homebrew плохо играют друг с другом, лучше придерживаться одного.
Наконец, если вы хотите запустить несколько версий perl и иметь возможность переключаться между ними, я бы посоветовал вам взглянуть на perlbrew.
Некоторые другие полезные команды для дальнейшей отладки вашей установки perl:
which perl
скажет вам, где установлен ваш текущий Perl Exec
perl -V
предоставит вам больше информации о версии perl, дате его компиляции и опциях, а также о путях включения, которые ищутся для модулей
perldoc perllocal
покажет вам модули perl, которые вы установили локально с CPAN
Что касается CPAN, как вы заметили, обычное обновление CPAN не выполняется. Однако существует решение, говорящее CPAN об установке в /usr/local/bin/
. Я задокументировал обновление CPAN в этом ответе .