2013-12-15 19 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' –