我正在为Template
模块尝试一些自定义修改。我使用以下方式下载了它:
$ cpan -g Template
接下来,我想将它安装到自定义文件夹中以便我的调试 版本没有覆盖原始安装。
我快速进行了Google搜索,找到了How can I install a CPAN module into a local directory?
。根据该答案,我确定我应该使用INSTALL_BASE
,例如:
perl Makefile.PL INSTALL_BASE=/home/hakon/perl/debug/lib
make
make install
但是这不起作用,它仍然安装(并覆盖)到我使用PERL5LIB
安装原始模块的cpanm
目录。我的路径
PERL5LIB
是/home/hakon/perl5
。当我检查Makefile
创建的Makefile.PL
时,我可以看到第21行有:
# INSTALL_BASE => q[/home/hakon/perl/debug/lib]
(注意前面的评论),而在第86行,我有:
INSTALL_BASE = /home/hakon/perl5
Here是整个Makefile。
答案 0 :(得分:3)
您正在使用env var INSTALL_BASE=/home/hakon/perl5
将PERL_MM_OPT
传递给MakeMaker。取消它;它覆盖了你的命令行选项。
或者,设置env var而不是传递参数。
export PERL_MM_OPT='INSTALL_BASE=/home/hakon/perl/debug/lib'
export PERL_MB_OPT='--install_base /home/hakon/perl/debug/lib'
cpan/cpanm/Makefile.PL/Build.PL ...