【发布时间】:2017-06-16 15:01:14
【问题描述】:
我目前在 Windows 上通过 Cygwin 运行 bash,我遇到了两种不同的方式来安装 Perl 模块
cpan Name::Module
和
perl -MCPAN -e shell
install Name::Module
这两种方法有什么区别,与其他方法相比,它们有什么优点或缺点吗?
【问题讨论】:
我目前在 Windows 上通过 Cygwin 运行 bash,我遇到了两种不同的方式来安装 Perl 模块
cpan Name::Module
和
perl -MCPAN -e shell
install Name::Module
这两种方法有什么区别,与其他方法相比,它们有什么优点或缺点吗?
【问题讨论】:
Windows 上的 cpan 只调用 App::Cpan->run( @ARGV ),它应该为您提供与其他命令相同的 shell,可能还有其他设置处于活动状态。但我认为是一样的。所以你可以同时使用两者。我更喜欢cpan,然后再做install Name::Module,因为我倾向于查看它之前是否安装过以及事先在cpan shell中安装了哪个版本。
【讨论】:
cpan 安装在 cpan 文件的 shebang (#!) 行中的 perl。
当某人在一台机器上安装了多个perl 时,他们有时会运行错误的cpan 副本,从而最终为错误的perl 实例安装模块。
一种解决方案是指定正确cpan 文件的完整路径。
perl -MCPAN -e shell 是另一种解决方案。它允许您明确指定要为其安装模块的perl 的安装。
【讨论】: