Perl Can';使用PPM安装模块后,请不要在@inc中定位模块

Perl Can';使用PPM安装模块后,请不要在@inc中定位模块,perl,installation,Perl,Installation,我正在运行Windows8。我刚刚下载了ActivePerl,正在通过Padre运行代码。我使用PPM来安装所需的模块,但当我尝试运行代码时,会出现错误“找不到Tk.pm”。模块是否安装在错误的位置?如何找到模块 编辑:我不确定问题出在哪里,我可能永远也不会知道。我卸载了perl,重新启动了计算机,再次安装,一切正常。您可以尝试手动查找perl库文件夹,通常它们会出现在安装ActivePerl的目标目录中。例如C:\Perl\lib和C:\Perl\site\lib。尝试在这些位置搜索模块 您还

我正在运行Windows8。我刚刚下载了ActivePerl,正在通过Padre运行代码。我使用PPM来安装所需的模块,但当我尝试运行代码时,会出现错误“找不到Tk.pm”。模块是否安装在错误的位置?如何找到模块


编辑:我不确定问题出在哪里,我可能永远也不会知道。我卸载了perl,重新启动了计算机,再次安装,一切正常。

您可以尝试手动查找perl库文件夹,通常它们会出现在安装ActivePerl的目标目录中。例如C:\Perl\lib和C:\Perl\site\lib。尝试在这些位置搜索模块


您还可以从cmd-perl-e“use Tk”中使用此命令。有关检查系统中是否安装了模块的更多选项,您还可以参考以下内容。

以下是检查安装是否正常的方法,只是一种解决方法,在生产中使用之前请三思

首先,检查硬盘中是否存在
Tk.pm
。一种方法是安装并搜索该文件。 如果文件存在,并且位于目录中,例如
“C:/some_path/TK.pm”

然后在脚本中,通过
use lib'C:/some_path'
指定路径,这将向perl模块搜索路径添加
'C:/some_path'
。然后
使用Tk
应该可以

 use lib 'C:/some_path';
 use Tk;
 print join ", ", @INC; # see the search path
模块是否安装在错误的位置

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

我想到了三种可能性

  • 您使用一个
    perl
    安装了模块,但使用Padre时使用的是另一个模块。(解决方案:使用正确的Perl安装模块,即在该Perl的
    bin
    dir中使用
    ppm
    cpan

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

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



如果您需要进一步的帮助,请提供
dir/s/b c:\Tk.pm
的输出和
perl-le“print$^X”

您可以安装两个perl吗?模块安装成功吗?它完成制作了吗?这是非常模糊的,如果您可以发布安装日志的输出,我们就可以更容易地看到哪里出了问题。@Gerry,ppm几乎只是解开一个预编译包的拉链。如果软件包存在,则不可能出现故障。@ikegami,更正为“是”,但我在windows上看到,它在执行make时有时会出现故障,因此产生了一个问题。@Gerry,
ppm
不使用
make
。同样,
ppm
基本上只是解压一个预编译的包。如果包存在,则实际上不可能失败。因此,我已经回答了你的问题(两次)。这可能完成的唯一一件事是让一个
perl
使用另一个
perl
安装的模块,这很糟糕。请记住,模块是由
ppm
安装的,而不是
cpan
/
cpanm
,因此(据我所知)它不可能安装在“不正确”的位置。然后呢?您打算怎么做?查找模块是否已安装。在出现上述查询的情况下,应该做什么?然后呢?您打算把它安装到哪里?然后您就知道它是否成功安装。供您参考,问题是-模块是否安装在错误的位置?我如何找到模块?Re“那么你就知道它是否成功安装了”,所以你认为他们说他们使用
ppm
安装模块是错的?我觉得很难相信。