我正在尝试在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