在使用PPM进行安装后,无法在@inc中找到模块
我正在运行Windows 8.我刚刚下载了ActivePerl,并且正在通过Padre运行代码。我使用PPM来安装所需的模块,但是当我尝试运行代码时,出现错误“Can not locate Tk.pm”。模块是否安装在错误的位置?我如何找到模块?在使用PPM进行安装后,无法在@inc中找到模块
编辑:我不确定问题是什么,我可能永远不会知道。我卸载Perl,重新启动我的电脑,再次安装它,一切正常。
下面是检查安装是否正常的方法,只是一种解决方法,在生产中使用它之前再考虑一下。
首先,检查您的硬盘中是否存在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
这个可能完成的唯一的事情就是让一个'perl'使用另一个'perl'安装的模块,这很糟糕。请记住,该模块是由'ppm'安装的,而不是'cpan' /'cpanm',所以(据我所知),它不能安装在“不正确的”位置。 – ikegami
难道模块得到安装在错误的位置?
不,据我所知,ppm
是无法做到这一点。
想到三种可能性。
您安装使用一个
perl
模块,但您使用时策略平台使用不同的一个。 (解决方法:安装使用正确的Perl模块,由Perl的bin
DIR使用ppm
或cpan
意思。)有某种权限问题的防止模块被发现。 (不太可能,如果您使用与试图使用它的用户相同的用户安装模块)。
安装失败。 (你得到什么错误?)
如果您需要进一步的帮助,你可以请提供dir /s/b c:\Tk.pm
的ouptut和perl -le"print $^X"
输出?
你可以有两个Perl的安装? – ikegami
模块安装是否成功完成?它完成了吗?这是非常含糊的,如果你可以发布安装日志的输出,它会让我们更容易看到出了什么问题。 – 2017-02-20 06:07:15
@Gerry,ppm几乎只是解压缩一个预编译的软件包。如果软件包存在,失败是不可能的。 – ikegami