我继承了一个基于perl的web项目,我正在尝试建立一个本地测试服务器,因此可以在项目内部进行更改。
服务器架构 Ubuntu 9.10 php 5.2.10 mysql 5.1.37 perl 5.10.0-24ubuntu4
安装了所有依赖模块和软件包,例如DateTime.pm,TemplateToolkit.pm,但运行该应用程序会抛出以下错误消息:
无法通过包“模板”找到对象方法“new”(也许你忘了加载“模板”?)在../lib//KPS/TemplateToolkit.pm第51行
这引用的代码块是:
sub new {
return Template->new(
INCLUDE_PATH => $KPS::Config::templatepath,
ABSOLUTE => 1,
DEBUG => 1,
);
}
如果有人能够阐明这一点或指出我正确的方向,我们将不胜感激。
由于
Simnom
答案 0 :(得分:7)
您需要首先加载Template Toolkit,其中包含:
use Template;
要确保在此系统上正确安装了Template :: Toolkit,您可以从可以运行的控制台
perl -MTemplate -e0
如果返回没有错误,则表示Template.pm wsa成功加载;如果没有,它会给你一个错误“无法在@INC中找到Template.pm ......”。
答案 1 :(得分:0)
要检查的其他事项是因为即使您没有正确设置,接受的答案测试也可能成功;确保模块中的包声明具有正确的路径。方案如下:
你做
use a::b;
...
a::b->new();
然后在b.pm你做
package b;
你可能会唠叨一会儿直到你意识到自己需要做什么
package a::b;