2

我正在尝试部署 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 的整个想法很容易安装到生产机器上??

4

3 回答 3

2

那么 Makefile.PL 是好的 perl 代码,我说的是用于 Catalyst 应用程序的开箱即用 Makefile.PL(WriteAll 是 Catalyst Makefile 中的标准)

显然,您必须在制作应用程序压缩包的开发机器上“制作 dist”。该 tarball 包含在生产机器上工作的 Makefile.PL。我忽略了开发 Makefile.PL 中的 Catalyst 评论,该评论指出当它在没有“make dist”的情况下部署时应该“大声抱怨并死去”......

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

于 2011-02-19T09:25:55.313 回答
1

我有同样的问题。

我发现删除inc/解决了它。YMMV

于 2012-01-31T16:39:16.093 回答
0

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

  • cpanm 模块::安装

完毕。

于 2013-07-02T00:24:31.527 回答