1

我正在使用 CPANM 在 WIN32 机器上安装模块,使用 CPANM 因为机器无法访问互联网。

我的 perl 安装在 C:\Perl 中,我的 lib 文件夹是 C:\Perl\lib

CPANM 模块和依赖项是使用以下内容在另一台机器上本地下载的(关于我如何下载 MIME::Lite 的示例):-

cpanm -q --scandeps MIME::Lite --save-dists c:\dist

使用以下在另一台机器上安装 MIME::Lite

cpanm --mirror file:///C:/dist/ -l c:/perl MIME::Lite

问题是 cpanm 将我的模块安装在 C:\Perl\lib\perl5 但我希望将模块安装在 C:\Perl\lib

我不知道如何覆盖这个默认行为。

环境是Windows,摘自Perl -V

  ActivePerl Build 2003 [299574]
  Built under MSWin32
  Compiled at Dec 25 2015 11:33:14
  %ENV:
    PERL5LIBX="%PERL5LIB%"
    PERL_MM_OPT="INSTALL_BASE=y"
  @INC:
    C:/Perl/site/lib
    C:/Perl/lib
    .
4

2 回答 2

0

cpanm'-l选项和PERL_MM_OPT'INSTALL_BASE选项覆盖安装位置。没有它们,库的安装程序将从perl. 换句话说,改变

set PERL_MM_OPT="INSTALL_BASE=y"
set PERL_MB_OPT=
cpanm --mirror file:///C:/dist/ -l c:/perl MIME::Lite

set PERL_MM_OPT=
set PERL_MB_OPT=
cpanm --mirror file:///c:/dist/ MIME::Lite

工作。

于 2016-04-11T22:09:23.233 回答
0

我有同样的情况,在一些帖子之后我发现了这个

CORE 模块安装在 perl/lib 下,而非 CORE 模块安装在 perl/site/lib 下。

原始安装附带的模块进入 lib。较新的版本进入站点/库。至少在 Windows 上的 ActiveState Perl 和 Strawberry Perl 上。

于 2017-02-01T19:33:19.980 回答