2

这更像是一个开放的讨论和一个结论,而不是一个真正的问题,希望它可以在某个时候对某人有所帮助。

我正在研究如何在 Internet 断开连接的服务器上制作 Perl 模块(否则答案很简单:使用cpan),所以我唯一的选择是直接在服务器上手动编译从 Internet(CPAN 或其他)下载的模块.

问题是,在标准的 Windows 服务器上,没有编译器。那么如何制作模块呢?

4

3 回答 3

4

如果您查看您的 Strawberry Perl 安装文件夹,您将看到许多有用的实用程序,包括编译器、、cpp.exe制作实用程序和.c++.exegcc.exegmake.exedmake.exe

dmakegcc一起支持cpan在您的安装上使用,并且cpanm也可用。

有关安装模块的一般过程的信息,请查看perlmodinstall

于 2013-02-19T12:32:56.427 回答
2

Strawberry Perl 在默认安装中包含了必要的编译环境,所以编译模块是没有问题的。

至于在离线环境中安装模块,我非常偏爱使用cpanmini. 基本上,您使用具有 Internet 访问权限的机器创建所有 CPAN 的最小镜像,然后将其放到您的离线机器上。更改cpan程序的设置以指向此本地镜像。现在您可以像平常一样使用cpan.

这可能看起来有点矫枉过正,但实际上非常简单。CPAN 镜像只占用大约 2GB 的空间,这在现在已经不算什么了。您可以将它放在 U 盘、DVD 或其他任何东西上。它是一劳永逸的解决方案——下次你想安装一个模块时,它已经在那里了。

于 2013-02-19T12:17:23.427 回答
1

Strawberry 背后的人很聪明,他们将所有你需要的 Perl 二进制文件打包在<Strawberry install dir>\c\bin目录下。

然后,直接在 Windows 服务器上离线编译 Perl 模块,过程非常简单:

  1. 下载模块.tar.gz文件
  2. 解压
  3. cmd在模块目录中打开一个
  4. 类型perl Makefile.PL
  5. 输入dmake,看看有没有错误
  6. 输入dmake test,看看有没有错误
  7. 输入dmake install,看看有没有错误

你应该没事!

不要犹豫,完成这篇文章或提出您的问题以改进它。

于 2013-02-19T12:05:03.080 回答