我正在尝试部署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的整个想法很容易安装到生产机器上?
答案 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),而较新版本根本没有该库。
进行。