这是一个比真实问题更开放的讨论和结论,希望能够帮助别人。如何在Windows上使用草莓编译Perl模块?
我一直在寻找如何在互联网断开服务器上创建Perl模块(否则答案很简单:使用cpan
),所以我唯一的选择是手动编译从互联网下载的模块(CPAN或其他)直接在服务器上。
问题是,在标准的Windows服务器上,没有编译器。那么,我该如何制作模块?
这是一个比真实问题更开放的讨论和结论,希望能够帮助别人。如何在Windows上使用草莓编译Perl模块?
我一直在寻找如何在互联网断开服务器上创建Perl模块(否则答案很简单:使用cpan
),所以我唯一的选择是手动编译从互联网下载的模块(CPAN或其他)直接在服务器上。
问题是,在标准的Windows服务器上,没有编译器。那么,我该如何制作模块?
如果您在草莓Perl的安装文件夹看看,你会看到一些有用的工具,包括编译器cpp.exe
,c++.exe
,gcc.exe
,使公用事业gmake.exe
和dmake.exe
。
dmake
和gcc
一起支持在您的安装上使用cpan
,并且cpanm
也可以使用。
有关安装模块的一般过程的信息,看看它涵盖了所有类型的Perl设施perlmodinstall
草莓们背后的人都很聪明,通过Perl的二进制文件进行打包,你需要在<Strawberry install dir>\c\bin
目录下找到所需的东西。
然后,Perl模块脱机直接在Windows服务器上编译,过程很简单:
.tar.gz
文件cmd
在模块目录perl Makefile.PL
dmake
,看看有没有错误dmake test
,看看有没有错误dmake install
,看看有没有错误,你应该ok了!
不要犹豫,以完成这篇文章或提出您的问题,以改善它。
草莓Perl在默认安装中包含必要的编译环境,所以编译模块不成问题。
至于在脱机环境中安装模块,我非常偏向using cpanmini
。基本上,您可以使用具有互联网访问功能的机器创建所有CPAN的最小镜像,然后将其放到离线机器上。将cpan
程序的设置更改为指向此本地镜像。现在,您可以像平常一样使用cpan
来安装几乎任何模块。
看起来似乎有些过火,但它确实非常简单。 CPAN镜子只占用大约2GB的空间,这些日子已经不算什么了。你可以把它放在USB棒,DVD或其他任何东西上。这是一个一劳永逸的解决方案 - 下次你想安装一个模块时,它已经在那里了。
完美通用的答案。 尽管如此,我认为更好的答案应该集中在草莓安装案例。 – gyzpunk 2013-02-20 09:30:52
@gyzpunk:我不清楚你还想知道什么。 Strawberry Perl已经被构建和分发,因此绝大多数情况下使用'cpan'来安装模块的标准方法都可以正常工作。这个(或'cpanm',也是可用的)是推荐的方法。你说“问题在于,在标准的Windows服务器上,没有编译器”,我已经通过告诉你在Strawberry Perl下有必要的编译器*是可用的,并且可以使用标准程序。 – Borodin 2013-02-20 11:24:32
是的,你完全正确,正如我所说,你完全回答了我的问题。我唯一担心的是给一个全新的草莓用户提供一些指导。 – gyzpunk 2013-02-20 12:48:20