2012-08-12 43 views
0

我正在从本书the definitive guide to catalyst了解Catalyst。我已经完成了演示应用 - lolcatalyst_lite。当我使用命令"CATALYST_ENGINE=HTTP:Prefork script/myapp_server.pl"时,出现了一些问题;根据这本书,我重写了lite.pm文件,错误依然存在。Catalyst :: Engine :: HTTP:Prefork

我收回了我在文件lite.pm中添加的内容。为什么命令"script/myapp_server.pl"仍然是错误的:

Catalyst::Engine::HTTP:Prefork' is not a module name 
    Compilation failed in require at /usr/local/share/perl/5.14.2/Catalyst/ScriptRunner.pm line 50. 

难道我设置操作系统一些说法?我怎样才能回去?

回答

0

自从这本书发表在这个特定领域以来,Catalyst已经看到了一些非常重大的变化。

旧催化剂发动机代码has been replaced与PSGI /普拉克:用于包含整个组的催化剂::引擎:: XXXX类来处理各种web服务器和环境的

催化剂(例如CGI,FastCGI的, mod_perl)等。

这已在Catalyst 5.9中进行了更改,以便所有这些工作都由Catalyst实施PSGI规范完成,使用Plack的适配器来实现该功能。

看看Catalyst::PSGI的文档,它解释了为什么,以及如何处理现有的代码。 lolcat教程颇为流行(v5.8),所以you should be able to upgrade it没有困难。

+0

有什么好书吗?谢谢。 – 2012-08-13 12:12:54

+0

你拥有的这本书仍然是最好的资源,IMO。实际上,只有这个特定领域的框架发生了变化,才影响了本书的现状。你读过关于升级的链接吗?这就是你需要的。 – RET 2012-08-13 13:51:02