我正在运行Windows 8.我刚下载了ActivePerl,并且我通过Padre运行代码。我使用PPM来安装所需的模块,但是当我尝试运行代码时,我得到了错误"无法找到Tk.pm"。模块是否安装在错误的位置?我如何找到模块?
编辑:我不确定问题是什么,我可能永远不会知道。我卸载了perl,重新启动了我的计算机,再次安装它,一切正常。
答案 0 :(得分:0)
模块是否安装在错误的位置?
不,据我所知,ppm
无法做到这一点。
有三种可能性浮现在脑海中。
您使用一个perl
安装了该模块,但在使用Padre时使用的是另一个模块。 (解决方案:使用正确的Perl安装模块,意思是使用Perl的ppm
目录中的cpan
或bin
。)
存在某种类型的权限问题,导致无法找到该模块。 (如果您使用与尝试使用该模块的用户相同的用户安装模块,则不太可能。)
安装失败。 (你得到了什么错误?)
如果您需要进一步的帮助,请提供dir /s/b c:\Tk.pm
的ouptut和perl -le"print $^X"
的输出?
答案 1 :(得分:-1)
您可以尝试手动查看Perl lib文件夹,通常它们将出现在您安装ActivePerl的目标目录中。像C:\ Perl \ lib和C:\ Perl \ site \ lib。尝试在这些位置搜索模块。
你也可以使用cmd中的这个命令 - perl -e“use Tk”。您还可以参考以下link了解有关检查系统中是否安装了模块的更多选项。
答案 2 :(得分:-1)
下面是一种检查安装是否正常的方法,只是一种解决方法,在生产中使用它之前再想一想。
首先,检查硬盘中是否存在Tk.pm
。一种方法是安装Everything并搜索该文件。
如果文件存在,则存在于"C:/some_path/TK.pm"
然后在脚本中,按use lib 'C:/some_path'
指定路径,这会将'C:/some_path'
添加到perl模块搜索路径。然后use Tk
应该没问题。
use lib 'C:/some_path';
use Tk;
print join ", ", @INC; # see the search path