我运行的是Windows8,我刚刚下载了ActivePerl,我正在通过Padre运行代码。我使用PPM来安装所需的模块,但当我尝试运行代码时,我收到错误消息"Can't locate Tk.pm“。模块是否安装在错误的位置?如何找到模块?
编辑:我不确定问题出在哪里,我可能永远也不会知道。我卸载了perl,重启了我的计算机,然后重新安装,一切都正常了。
发布于 2017-02-21 03:23:07
模块是否安装在错误的位置?
不,据我所知,ppm无法做到这一点。
脑海中浮现出三种可能性。
perl安装了模块,但在使用Padre时使用的是另一个。(解决方案:使用正确的Perl安装模块,即使用该Perl的bin目录中的ppm或cpan。)如果您需要进一步的帮助,可以提供dir /s/b c:\Tk.pm的输出和perl -le"print $^X"的输出吗
发布于 2017-02-20 14:13:29
您可以尝试手动查看Perl lib文件夹,它们通常位于安装ActivePerl的目标目录中。比如C:\Perl\lib和C:\Perl\site\lib。尝试在这些位置搜索模块。
您也可以在cmd - perl -e "use Tk“中使用此命令。您还可以参考以下link,了解有关检查系统中是否已安装模块的更多选项。
发布于 2017-02-20 17:34:04
下面是一种检查安装是否正常的方法,这只是一种变通方法,在生产中使用它之前请三思。
首先,检查硬盘中是否存在Tk.pm。一种方法是安装Everything并搜索文件。如果该文件存在,并且位于"C:/some_path/TK.pm"等目录中
然后在脚本中,通过use lib 'C:/some_path'指定路径,这将把'C:/some_path'添加到perl模块搜索路径中。
use lib 'C:/some_path';
use Tk;
print join ", ", @INC; # see the search pathhttps://stackoverflow.com/questions/42333331
复制相似问题