用PPM安装模块后,无法在@inc中找到模块

时间:2017-02-19 21:50:57

标签: perl installation

我正在运行Windows 8.我刚下载了ActivePerl,并且我通过Padre运行代码。我使用PPM来安装所需的模块,但是当我尝试运行代码时,我得到了错误"无法找到Tk.pm"。模块是否安装在错误的位置?我如何找到模块?

编辑:我不确定问题是什么,我可能永远不会知道。我卸载了perl,重新启动了我的计算机,再次安装它,一切正常。

3 个答案:

答案 0 :(得分:0)

  

模块是否安装在错误的位置?

不,据我所知,ppm无法做到这一点。

有三种可能性浮现在脑海中。

  • 您使用一个perl安装了该模块,但在使用Padre时使用的是另一个模块。 (解决方案:使用正确的Perl安装模块,意思是使用Perl的ppm目录中的cpanbin。)

  • 存在某种类型的权限问题,导致无法找到该模块。 (如果您使用与尝试使用该模块的用户相同的用户安装模块,则不太可能。)

  • 安装失败。 (你得到了什么错误?)

如果您需要进一步的帮助,请提供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