使用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
文件放置在非常不同的地方。
关于此的任何提示?
答案 0 :(得分:2)
perldoc搜索Perl模块包含路径(@INC
)。如果perldoc找不到它,perl就找不到了。尝试perl -wle 'use The::Module'
查看perl是否可以加载它。如果它可以找到它,那么就会发生一些奇怪的事情。
如果您通过第三方程序安装了一个模块(即使它只是使用cpan客户端),可能会发生什么事情,它是否安装到不同的位置和/或使用不同于您的perl的perl在命令行上使用。造成这种情况的原因有很多,其中最有可能的是......
PATH
不同,并为不同的cpan
找到perl
的不同副本。cpan
客户端配置为不同,以安装到其他PATH
。模块没有文档也很奇怪。
你可以看到perldoc正在做什么来找到perldoc -D The::Module
的模块(在旧版本中可能是-v)。