0

我从 CPAN 下载了一些 perl 模块。通常,我们采取以下两个步骤来安装它。

perl Makefile.PL
make install

但这在 Windows 上不起作用。

我正在使用 ActivePerl,我应该如何安装 3rd 方模块?

我设法运行以下 2 个命令:

perl Makefile.PL
nmake install

我看到FAQ.podXXX.pm被复制到某个文件夹。但问题是,我在运行任何命令之前就看到了这两个文件。它们只是在下载的 zip 文件中。那么为什么我还需要运行 make 命令呢?

4

3 回答 3

4
那么为什么我还需要运行 make 命令呢?

安装程序所做的大部分工作(对于 Perl 模块或其他)都是复制文件。这并不意味着它就是它所做的一切。仅举几例:

  • 从用户那里获得安装选项。
  • 检查缺少的依赖项。
  • 安装缺少的依赖项。
  • 确定安装文件的正确目录。
  • 为特定系统或 Perl 构建配置模块。
  • 生成派生文件。
    • 编译 C (XS) 组件。
    • 生成文档。
    • 使捆绑的 Perl 脚本自动执行。
  • 运行测试。
  • 设置权限。
  • ETC
于 2012-07-25T15:44:58.877 回答
1

有时您需要到 Microsoft 下载 nmake 可执行文件,这样您就可以运行“make”。但我记得一个 GUI PPM 客户端也应该对您有所帮助。

以前用activestate的时候,我用PPM,当PPM没有我需要的模块的时候用CPAN。通过这种方式,我能够在 Windows 机器上安装 Catalyst 和 DBIx::Class,并在本地使用 Mysql 和 SQL Server 进行远程数据仓库查询,大约在 2007 年。

它比 Unix 安装需要更多的努力,但有时我们无法选择我们的操作系统。

于 2012-07-25T15:05:28.100 回答
1
 make install

还运行测试,这很好,因为并非每个 CPAN 模块都由其作者针对 Windows 进行测试。我知道我没有。

其次 make install updates perllocal.pod,它跟踪 CPAN 包的安装。你可以进去看看:

 perldoc perllocal

并通过 CPAN 查看已安装在您机器上的所有软件包。

如果您不需要包管理器,并且您使用的是纯 perl 模块,那么请务必将其复制到位。这次我们将把黑色直升机留在机库中。

于 2012-07-25T15:22:00.567 回答