Catalyst中Makefile.PL的问题

时间:2011-02-16 21:18:22

标签: perl catalyst

我正在尝试部署Catalyst应用程序。我已经把所有包含在Makefile.PL文件中的一个想法应该足以在目标机器上安装。但是,当我尝试构建Makefile时,我得到以下内容:

$ perl Makefile.PL
Bareword "WriteAll" not allowed while "strict subs" in use at Makefile.PL line 47.
Execution of Makefile.PL aborted due to compilation errors.

谁能说出我做错了什么?我安装了 - Module :: Install - Local :: lib - Catalyst :: Runtime(后来还催化了Catalyst :: Devel)

我认为管理好Makefile.PL的整个想法很容易安装到生产机器上?

3 个答案:

答案 0 :(得分:2)

Makefile.PL是好的perl代码,我说的是开箱即​​用的Makefile.PL for Catalyst apps(WriteAll是Catalyst Makefile中的标准)

显然你必须在制作应用程序tarball的开发机器上'make dist'。该tarball包含一个可在生产机器上运行的Makefile.PL。我忽略了开发Makefile.PL中的Catalyst注释,该注释表明它在没有'make dist'的情况下部署时应该'大声抱怨并死掉'......

奇怪的是,在这种情况下,Catalyst没有提供更多信息性错误......遗憾的是没有人认出默认的Makefile设置。谢谢你的评论,暴徒。

答案 1 :(得分:1)

我遇到了同样的问题。

我发现删除inc/解决了这个问题。 YMMV

答案 2 :(得分:0)

我收到错误,原因是我没有安装Module::Install。我已经更改为更新版本的perl(5.14 - > 5.16),而较新版本根本没有该库。

  • cpanm Module :: Install

进行。