2013-02-19 115 views
1

这是一个比真实问题更开放的讨论和结论,希望能够帮助别人。如何在Windows上使用草莓编译Perl模块?

我一直在寻找如何在互联网断开服务器上创建Perl模块(否则答案很简单:使用cpan),所以我唯一的选择是手动编译从互联网下载的模块(CPAN或其他)直接在服务器上。

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

回答

3

如果您在草莓Perl的安装文件夹看看,你会看到一些有用的工具,包括编译器cpp.exec++.exegcc.exe,使公用事业gmake.exedmake.exe

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

有关安装模块的一般过程的信息,看看它涵盖了所有类型的Perl设施perlmodinstall

+0

完美通用的答案。 尽管如此,我认为更好的答案应该集中在草莓安装案例。 – gyzpunk 2013-02-20 09:30:52

+0

@gyzpunk:我不清楚你还想知道什么。 Strawberry Perl已经被构建和分发,因此绝大多数情况下使用'cpan'来安装模块的标准方法都可以正常工作。这个(或'cpanm',也是可用的)是推荐的方法。你说“问题在于,在标准的Windows服务器上,没有编译器”,我已经通过告诉你在Strawberry Perl下有必要的编译器*是可用的,并且可以使用标准程序。 – Borodin 2013-02-20 11:24:32

+0

是的,你完全正确,正如我所说,你完全回答了我的问题。我唯一担心的是给一个全新的草莓用户提供一些指导。 – gyzpunk 2013-02-20 12:48:20

0

草莓们背后的人都很聪明,通过Perl的二进制文件进行打包,你需要在<Strawberry install dir>\c\bin目录下找到所需的东西。

然后,Perl模块脱机直接在Windows服务器上编译,过程很简单:

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

,你应该ok了!

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

1

草莓Perl在默认安装中包含必要的编译环境,所以编译模块不成问题。

至于在脱机环境中安装模块,我非常偏向using cpanmini。基本上,您可以使用具有互联网访问功能的机器创建所有CPAN的最小镜像,然后将其放到离线机器上。将cpan程序的设置更改为指向此本地镜像。现在,您可以像平常一样使用cpan来安装几乎任何模块。

看起来似乎有些过火,但它确实非常简单。 CPAN镜子只占用大约2GB的空间,这些日子已经不算什么了。你可以把它放在USB棒,DVD或其他任何东西上。这是一个一劳永逸的解决方案 - 下次你想安装一个模块时,它已经在那里了。