Dockerfile中无法安装libtext-roman-perl Perl模块求助
问题原因
是的,你遇到的问题确实是因为该镜像基于Amazon Linux 2,而libtext-roman-perl是Debian/Ubuntu发行体系的包名,并不存在于Amazon Linux 2的默认yum仓库中——Amazon Linux 2的RPM包体系里没有这个命名的软件包,即便执行yum update也无法解决。
解决方案
推荐直接使用Perl的包管理器cpanm来安装对应的Perl模块Text::Roman(也就是libtext-roman-perl对应的模块),该镜像作为Perl专用的AWS Lambda基础镜像,已经预装了cpanm。修改后的Dockerfile如下:
FROM shogo82148/p5-aws-lambda:base-5.36.al2 RUN cpanm Text::Roman COPY handler.pl /var/task/ CMD [ "handler.handle" ]
如果坚持要通过yum安装,可先尝试启用Amazon Linux 2的EPEL仓库(执行amazon-linux-extras install epel),但需要注意:Text::Roman并没有官方RPM包收录在EPEL中,因此cpanm的安装方式依然是更可靠的选择。
内容的提问来源于stack exchange,提问作者Eugene
相关产品推荐
相关产品推荐

