Docker 码头工人:Can';t在Linux上的@INC中找到Tk.pm(您可能需要安装Tk模块)

Docker 码头工人:Can';t在Linux上的@INC中找到Tk.pm(您可能需要安装Tk模块),docker,perl,ubuntu,x11,Docker,Perl,Ubuntu,X11,我试图在ubuntu:16.04容器上运行一个简单的perl gui,该gui使用Tk模块,同时使用perl:latest和activestate/circleci activeperl:latest图像 我收到错误无法在@INC中找到Tk.pm(您可能需要安装Tk模块) 在perl的Linux容器环境中安装Tk模块的命令是什么 我使用cpan安装Tk,如下所示 $ perl -MCPAN -e shell cpan> install Tk 我得到下面的错误 帮助安装perl tk模块

我试图在ubuntu:16.04容器上运行一个简单的perl gui,该gui使用Tk模块,同时使用perl:latest和activestate/circleci activeperl:latest图像

我收到错误
无法在@INC中找到Tk.pm(您可能需要安装Tk模块)

在perl的Linux容器环境中安装Tk模块的命令是什么

我使用cpan安装Tk,如下所示

$ perl -MCPAN -e shell
cpan> install Tk
我得到下面的错误


帮助安装perl tk模块。

在docker上,您没有X11。请参阅错误消息在Docker中运行交互式GUI映像非常棘手,并且非常依赖于平台(如果您在本机Linux主机上,那么您至少有X)。我建议直接在主机上运行它。从源代码安装Perl Tk模块需要Tk库和相应的头文件(
.h
)。您的软件包似乎已将库和头文件分离为单独的软件包(一种常见做法),并且您似乎没有安装带有头文件的软件包。(您需要安装提供这些功能的软件包。)但由于您是为系统Perl安装的,最好使用系统的软件包管理器来安装模块本身(正如您的回答所示)。我编辑了该命令,因为我认为有错误。如果这是真的,请向我道歉并回滚编辑。带RUN语句的命令是这样添加的,因为它是Dockerfile的一部分。如果安装在dockerfile之外,则您的编辑是正确的。在Fedora上:
sudo dnf install perl Tk
apt-get install perl-tk