#perl #perl-module #perlbrew #cpanm
#perl #perl-модуль #perlbrew #cpanm
Вопрос:
Я использую perlbrew
для легкого переключения между perl. Я использую Carton
для установки модулей только для текущего проекта в /local
каталог.
Но когда я развертываю приложение на новом хосте.
Я делаю:
perlbrew install -v -j 8 --notest --switch perl-5.30.3
perlbrew install-cpanm
cpanm Carton
Но последний шаг будет установлен Carton
в perlbrew libs
Есть ли способ установить Carton
в мой local/lib/perl5
каталог проекта?
Я хочу сохранить базовый perlbrew в чистоте
Комментарии:
1. Это настолько обратное X_X, что я всегда рекомендую людям устанавливать локальный
perl
, чтобы избежать «локальных библиотек» и всех проблем, которые это вызывает. У вас есть это, но вы стремитесь повторно ввести все проблемы! Ничто не мешает вам установить более одной версии Perl, если вы хотите чистую и не очень чистую. Смотрите--as
аргументperlbrew install
.
Ответ №1:
Для установки модулей в ваш собственный каталог мы можем использовать --local-lib
option.
Это упоминается здесь и описано в примерах cpanm --help
cpanm --local-lib ./local
вероятно, полезными опциями для этой задачи являются:
-n,--notest Do not run unit tests
--self-contained Install all non-core modules, even if they're already installed
Если вы часто выполняете развертывание, вероятно, вам не нужно повторно тестировать каждый раз. Это бессмысленно.
Второй вариант полезен, когда вы хотите, чтобы модули были установлены в ваш локальный каталог, несмотря на то, что они уже установлены в system / brew perl