perldoc没有显示已安装的perl模块的文档

时间:2012-03-02 23:00:40

标签: perl cpan man perldoc

使用cpan命令从Linux命令行安装Perl模块可以正常工作,例如:

$ cpan [Module]

完成后我可以通过以下方式查看模块的文档:

$ perldoc [Module]

但是通过cfengine执行此操作,这将自动执行脚本cpan命令(在 shellcommands:列表中),模块已安装,但{{1}不适合它:

perldoc

但是,请调用:

$ perldoc Text::Histogram
No documentation found for "Text::Histogram".*

工作得很好。

为此设置一般环境变量(例如$ man Text::Histogram 手册页建议)似乎不可行,因为我观察到perldoc文件放置在非常不同的地方。

关于此的任何提示?

1 个答案:

答案 0 :(得分:2)

perldoc搜索Perl模块包含路径(@INC)。如果perldoc找不到它,perl就找不到了。尝试perl -wle 'use The::Module'查看perl是否可以加载它。如果它可以找到它,那么就会发生一些奇怪的事情。

如果您通过第三方程序安装了一个模块(即使它只是使用cpan客户端),可能会发生什么事情,它是否安装到不同的位置和/或使用不同于您的perl的perl在命令行上使用。造成这种情况的原因有很多,其中最有可能的是......

  • 它与您的PATH不同,并为不同的cpan找到perl的不同副本。
  • 它将cpan客户端配置为不同,以安装到其他PATH
  • cpan配置为在主目录下安装,并且它以不同的用户身份运行。

模块没有文档也很奇怪。

你可以看到perldoc正在做什么来找到perldoc -D The::Module的模块(在旧版本中可能是-v)。