建立一个共同的 Perl/CPAN 环境

4

我在家里已经有一段时间在使用Perl,感觉非常有趣。

但是,当你和团队一起开发Perl模块(在我的情况下主要是 Catalyst)时,事情会变得更加困难。我们如何确保所有人都拥有相同的开发环境(Perl/模块版本)?只需要通过及时更新CPAN来解决吗?还是有些团队建立了他们自己的“私有”CPAN呢?

2个回答

6
使用以下工具应该会让您的生活更加轻松。
查看local::lib,然后您可以轻松地创建一个服务器,每个成员都可以将这些模块同步到其中。
您可能并不想镜像所有的cpan。只需使用minicpan即可获取最新的模块。
如果您正在使用Task::Kensho中推荐的模块,则使用最新版本不应该是一个问题,因为它们不会对您意外更改API。基本上,通过这样做,您可以确保团队不会重新发明轮子,或者希望使用3个执行相同任务的不同模块。
您需要确保您的团队使用良好的Perl编码实践而不是糟糕的实践。有很多糟糕的实践。阅读Perl Best Practices, 记住它只是一个指南,您应该根据您的团队和您的风格进行调整。

1
保持一只盐瓶随手可得。《PBP》中描述的许多内容现在不再被认为是最佳实践。 - Ether
没错,但至少比阅读2000年写的书要好,而那时的其他 Perl 书大多数都是在五年内出版的。 - xenoterracide

4

"在团队中" 的确切含义并不清楚。

如果该团队在某个公司,最好的解决方案当然是共享目录,只安装你需要的CPAN模块。

如果该团队是一群人从家里的电脑协作工作,有几种解决方案。

其中一个解决方案如下:

  • 在一个文件中拥有共享的“要安装的模块的最新版本”列表,可以公开地从Web上访问(可以放在某人的主页、您喜欢的源代码控制系统、Google文档等)。

  • 编写一个小型Perl脚本,该脚本从Web检索该文件或从存储库中检出该文件,循环遍历文件中列出的每个CPAN模块,并验证本地安装的版本是否正确。如果需要升级,则让脚本从CPAN安装更新

  • 将该脚本作为计划任务运行(在Unix上使用,在Windows上使用 / ),以管理员/根帐户或至少具有足够权限安装CPAN模块的帐户身份运行。

我不会提供脚本实现的详细信息,因为我甚至不知道这是针对Windows还是Unix,而且执行所有这些任务都是相当常规的Perl编码 - 如果您遇到困难,随时欢迎在SO上提出后续问题! :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接