如何使用Perlbrew将Carton模块安装到本地项目中?

问题描述

我使用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目录中?

我要保持基本的皮毛清洁

解决方法

要将模块安装到您自己的目录中,我们可以使用--local-lib选项。
提到here并在示例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

如果您经常部署,则可能不需要每次都重新测试。这没有意义。

第二个选项在您希望将模块安装到本地目录中时非常有用,尽管它们已经安装在系统/ brew perl中