这是一个公开的讨论和结论,而不是一个真实的问题,希望它可以帮助某人。
我正在研究如何在互联网断开连接的服务器上创建Perl模块(否则答案非常简单:使用cpan
),因此我唯一的选择是手动编译从Internet下载的模块( CPAN或其他)直接在服务器上。
问题在于,在标准的Windows服务器上,没有编译器。那么我该如何制作模块?
答案 0 :(得分:3)
如果您查看Strawberry Perl安装文件夹,您会看到许多有用的实用程序,包括编译器cpp.exe
,c++.exe
,gcc.exe
和make utilities gmake.exe
以及dmake.exe
。
dmake
和gcc
一起支持在您的安装中使用cpan
,并且cpanm
也可用。
有关安装模块的一般过程的信息,请查看perlmodinstall
答案 1 :(得分:1)
Strawberry Perl在默认安装中包含必要的编译环境,因此编译模块没有问题。
至于在离线环境中安装模块,我非常偏向using cpanmini
。基本上,您使用具有Internet访问权限的计算机创建所有CPAN的最小镜像,然后将其扔到离线计算机上。将cpan
程序的设置更改为指向此本地镜像。现在,您可以使用cpan
安装几乎任何模块。
这看起来有点矫枉过正,但实际上非常简单。 CPAN镜像只占用大约2GB的空间,这些日子都不算什么。你可以把它放在USB记忆棒,DVD或其他任何东西上。它是一个一劳永逸的解决方案 - 下次你想安装一个模块时,它已经存在。
答案 2 :(得分:0)
通过在<Strawberry install dir>\c\bin
目录下打包所需的Perl二进制文件,草莓背后的人很聪明。
然后,要直接在Windows服务器上脱机编译Perl模块,过程非常简单:
.tar.gz
文件cmd
perl Makefile.PL
dmake
,查看是否没有错误dmake test
,查看是否没有错误dmake install
,查看是否没有错误你应该没事!
请毫不犹豫地完成本文或提出问题以改进它。