我正在嘗試在Heroku上構建一個Perl應用程序,這需要模塊Encode :: HanExtra。我不確定它是否重要,但我正在使用this unofficial buildpack,並且需要在cpanfile中指定requires 'Encode::HanExtra';
。正在使用的Perl版本是v5.16.3。Encode :: HanExtra無法安裝在Heroku上(enc2xs未找到)
每當cpanm嘗試配置模塊,它用錯誤
Entering Encode-HanExtra-0.23
Checking configure dependencies from META.yml
Running Makefile.PL
Configuring Encode-HanExtra-0.23 ... enc2xs not found! at Makefile.PL line 46.
! Configure failed for Encode-HanExtra-0.23. See /app/.cpanm/work/1507137797.173/build.log for details.
Perl中已經包括了編碼,因爲它是一個核心模塊,因此應該有enc2xs。我嘗試強制下載最新版本的Encode,看它是否解決了問題,但沒有。所以我猜猜這個模塊在某種程度上發現了enc2xs存在問題。
從谷歌搜索的錯誤信息我可以看到,其他編碼模塊有類似的錯誤已修補,但我不知道,如果他們實際上是一樣的問題,這一個。
我不太熟悉安裝CPAN模塊的調試問題,所以我很欣賞任何指針。我的計劃是查看Makefile.pl,如果模塊有一個。 FWIW我可以在Strawberry Perl上安裝這個模塊就好了。我在這個Heroku版本上只有問題。
「*因此應該有enc2xs *',這是一個自行安裝的'perl',還是系統'perl'?很多unix發行版將'perl'的部分從標準安裝中刪除,並且讓您使用系統的軟件包管理器來安裝它們 – ikegami
這是一個perl系統,我明確地在'cpanfile'中加入了'require'Encode','2.92';'並且看到它已經安裝了,但是值得注意的是cpanm試圖安裝Encode :: HanExtra之前,它試圖安裝Encode,所以也許它沒有幫助。但是,我沒有看到cpanfile文檔中的任何方式來強制安裝的特定順序 – Stephen
所以,你是否搜索系統的包管理器一個包含'enc2xs'的軟件包?如果文件系統中的文件系統位於不在你的PATH目錄中,是否在文件系統中搜索?enc2xs? – ikegami