Как установить модуль Carton в локальный проект с помощью perlbrew?

#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