首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用PPM安装后,在@inc中找不到模块

使用PPM安装后,在@inc中找不到模块
EN

Stack Overflow用户
提问于 2017-02-20 05:50:57
回答 3查看 1.3K关注 0票数 0

我运行的是Windows8,我刚刚下载了ActivePerl,我正在通过Padre运行代码。我使用PPM来安装所需的模块,但当我尝试运行代码时,我收到错误消息"Can't locate Tk.pm“。模块是否安装在错误的位置?如何找到模块?

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

EN

回答 3

Stack Overflow用户

发布于 2017-02-21 03:23:07

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

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

脑海中浮现出三种可能性。

  • 您使用一个perl安装了模块,但在使用Padre时使用的是另一个。(解决方案:使用正确的Perl安装模块,即使用该Perl的bin目录中的ppmcpan。)
  • 存在某种权限问题,无法找到模块。(如果您使用与尝试使用该模块的用户相同的用户安装该模块,则不太可能。)
  • 安装失败。(你得到了什么错误?)

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

票数 0
EN

Stack Overflow用户

发布于 2017-02-20 14:13:29

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

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

票数 -1
EN

Stack Overflow用户

发布于 2017-02-20 17:34:04

下面是一种检查安装是否正常的方法,这只是一种变通方法,在生产中使用它之前请三思。

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

然后在脚本中,通过use lib 'C:/some_path'指定路径,这将把'C:/some_path'添加到perl模块搜索路径中。

代码语言:javascript
运行
复制
 use lib 'C:/some_path';
 use Tk;
 print join ", ", @INC; # see the search path
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42333331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档