无法在docker中安装perl模块PerlIO :: locale
我遇到了在docker中安装某些Perl模块的问题。 有没有推荐的稳定的方式做这个默认的Ubuntu的图像?
另外,我不清楚如何访问安装日志文件在一个失败的版本(即cpan减去/.cpanm/build.log)。
以下Dockerfile失败并显示消息:
请为locale.xs指定原型行为(请参阅perlxs手册)
当它试图解决对PerlIO :: locale的依赖。
# use the ubuntu base image provided by dotCloud FROM ubuntu # make sure the package repository is up to date RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list RUN apt-get update # install perl and modules RUN apt-get install -y make RUN apt-get install -y perl RUN apt-get install -y cpanminus RUN cpanm -v Text::Names
一些模块包括需要在目标系统上编译的C代码(“XS模块”)。 为此,您需要一个完整的C工具链。 这意味着make
,编译器: gcc
和C标准库头文件: libc-dev
。 build-essential
元组件包含了这些组件(还有更多),所以我build议你安装它。
根据perlxstut ,这只是一个警告,而不是一个致命的错误。
有一个明确logging的默认值( perlxs :“原型默认启用”)。 而且,这个特定的XS组件实际上并没有将任何函数导出到Perl,所以这个设置永远不会被使用。
警告可以通过在locale.xs
添加一个PROTOTYPES: ENABLE
来locale.xs
– 甚至可以让作者进行修改 – 但是这并没有什么区别。
问题在别处。