2013-12-15 20 views
0

我正在尝试使用舞者创建示例web服务。我使用Ubuntu 10.04作为我的操作系统。我使用CPAN客户端安装舞者和依赖性,也可以做使用CPAN安装舞者和依赖项

dancer -a MyApp 

然而,当我尝试运行app.pl文件,代码抛出一个错误说YAML.pm没有找到。我确信这个文件是在安装依赖时下载的。一个有几个问题: -

1. Where does CPAN put all these files which were downloaded? How are they included in the @INC? 
2. For using Dancer, do I have to manually include all the files in @INC? 

我试图通过世界包括@INC的Dancer.pm路径创建一个非常简单的Perl舞者应用的打招呼。但是,由于缺少某些或其他依赖项,它会一直失败。

帮我理解我做错了什么?

+1

请参阅GitHub上舞者问题追踪器中的[拒绝错误](https://github.com/PerlDancer/Dancer/issues/502) – amon

回答

2

CPAN应该把文件的路径之一从@INC
perl -E '$"="\n"; say "@INC"'
输出我的系统上:

/etc/perl 
/usr/local/lib/perl/5.14.2 
/usr/local/share/perl/5.14.2 
/usr/lib/perl5 
/usr/share/perl5 
/usr/lib/perl/5.14 
/usr/share/perl/5.14 
/usr/local/lib/site_perl 
. 

而且CPAN放入/usr/local/share/perl/5.14文件。 2
因为这个路径存在于@INC中,所以你不应该手动包含它。那么Dancer,YAML不是很难依赖它,因为它没有安装。

+0

接受答案。这是我正在寻找的。当我说使用Dancer':syntax'时,我看不到任何错误。任何解释为什么? – karmanaut

+0

因为Dancer.pm不需要YAML本身。只有几个子模块需要YAML:Dancer :: Session :: YAML,Dancer :: Config,Dancer :: Serializer :: YAML。我认为这个子模块在你说使用Dancer时不会加载:syntax' –