当前位置:  开发笔记 > 编程语言 > 正文

为什么我不能简单地将已安装的Perl模块复制到其他机器上?

如何解决《为什么我不能简单地将已安装的Perl模块复制到其他机器上?》经验,为你挑选了1个好方法。

作为Perl的新手而不是动态语言,我对如何不直接管理模块感到有些惊讶.

当然,cpan X理论上确实有效,但我正在从三个不同的机器和操作系统(在工作中,在家里,在外部环境中测试)开发相同的项目.

在工作(Windows 7)我有问题使用cpan因为我们的防火墙使ftp无法使用

在家(Mac OS X)它确实有效

在外部环境(Linux CentOs)中,它在数小时后工作,因为我没有root访问权限,我必须配置cpan为以非root用户身份运行

我尝试过另一台可以访问的服务器.如果前面的外部环境是VPS,所以我有shell访问,这另一种是廉价的共享主机,我也没有办法安装之外的其他新模块,预装

目前我还是无法在Windows下安装模板.我已经看到,作为一种替代方案,我可以编译它,我也尝试过ActiveState的PPM,但模块不存在.

现在,我的困惑在于Perl是一种动态语言.我在工作时遇到了所有这些问题,例如,在C中,我必须为所有平台编译所有库,但我认为使用Perl的方法与Python或PHP的方法非常类似.复制模块在目录中并导入它的情况的百分比只是起作用.

所以,我的问题是:如果Perl的模块是用Perl编写的,为什么复制/粘贴方法不起作用?如果必须编译某些(或部分)模块,如何在CPAN中查看模块是否仅为Perl还是依赖于编译库?是不是有办法下载模块(tar,zip ...)并使用cpan来部署它?这将解决我在Windows下的问题.



1> brian d foy..:

现在,Perl是一种动态语言,但这并不意味着人们编写的所有内容都可以跨平台移植.那不是语言的错.这甚至都不是程序员的错.有些东西,比如Win32 :: OLE,不适用于Unix.:)

其他动态语言会有一些相同的问题.如果必须编译C代码,则无法仅将文件复制到另一台计算机.某些发行版根据您的操作系统等配置代码略有不同.

即使您可以复制文件,也必须确保复制所需的所有文件.你知道特定模块需要的一切吗?请记住,他们中的许多人都有依赖关系.

你遇到的大多数问题与语言没有任何关系.你在使用这些工具时遇到了麻烦.如果您想要一个为您做出所有决定的零配置CPAN工具,请尝试使用cpanminus.你得到的东西大多是相同的cpan(尽管代码不同),但它会为你做出所有的决定.它不会运行任何分发测试,而是安装到您的用户目录中.当你需要一些能让你控制的东西时,请回过头来cpan.

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有