Catalyst 对 Perl 5.8.8 的支持

标签 perl catalyst

执行催化剂服务器脚本时遇到以下问题。

Couldn't load class (Catalyst::Script::Server) because: "ensure_class_loaded" is not exported by the Catalyst::Utils module
Can't continue after import errors at /opt/madhan/lib/perl5/Catalyst/ScriptRole.pm line 7.
BEGIN failed--compilation aborted at /opt/madhan/lib/perl5/Catalyst/ScriptRole.pm line 7.
Compilation failed in require at /usr/lib/perl5/site_perl/5.8.8/Module/Runtime.pm line 313.
Compilation failed in require at /opt/madhan/lib/perl5/Catalyst/ScriptRunner.pm line 13.
        Catalyst::ScriptRunner::find_script_class("Catalyst::ScriptRunner", "testsite", "Server") called at /opt/madhan/lib/perl5/Catalyst/ScriptRunner.pm line 42
        Catalyst::ScriptRunner::run("Catalyst::ScriptRunner", "testsite", "Server") called at /opt/madhan/testsite/script/testsite_server.pl line 8

perl 5.8.8 会支持 Catalyst MVC 吗?

最佳答案

这是 Catalyst 中的错误。 Catalyst::ScriptRole(自 2012 年以来!)中有一些类型检查代码已完全损坏,但损坏仅在特定情况下可见——即,如果脚本向 Catalyst 提供了 loader_class: :ScriptRole 不是已经加载的类(可能从来没有人加载过),或者如果系统有一个非常旧的 UNIVERSAL.pm 版本例如 perl 5.8 附带的那个。这是您遇到的第二种情况。

我已经为 Catalyst-Runtime 推送了一个补丁来解决这个问题; 希望它能尽快发布它包含在Catalyst-Runtime 5.90115中.

关于Catalyst 对 Perl 5.8.8 的支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42883017/

相关文章:

perl - 如何防止 DBIx::Class::Schema::Loader 在 Catalyst 中自动添加 InflateColumn::DateTime?

macos - 设置 MACOSX_DEPLOYMENT_TARGET 的最佳方法是什么?

perl - 使 Perl 对象可调用?

perl - 为什么这个哈希没有正确显示?

database - DBIx::Class 获取 dbh

perl - 如果未指定内容类型,如何强制 Catalyst::Controller::REST 在 POST 请求之后呈现 View ?

perl - Catalyst 应用程序的最佳 Action 持久性技术是什么?

perl - 将 perl 脚本的调试跟踪重定向到文件

perl - Perl 5.10+ 中词法 $_ 的优缺点

javascript - Jquery 级联下拉菜单与 php 和 Catalyst