【问题标题】:Testing with two versions of Catalyst on the same system/application在同一系统/应用程序上使用两个版本的 Catalyst 进行测试
【发布时间】:2012-09-19 03:45:05
【问题描述】:

我正在尝试测试客户的 Catalyst 应用程序,该应用程序可与 Catalyst 5.8 一起使用,但在 Catalyst 5.9 上存在一些严重问题。

我不得不在他们的测试系统上执行此操作,其中应用程序 [也有一个复杂而凌乱的安装] 使用 Catalyst 5.8 运行。

我想知道是否有一种干净的方式来回切换?

我在想,例如,在自定义目录中安装 5.9,使用 Catalyst::Runtime '5.80'; 或 use Catalyst::Runtime '5.90'; 并切换 @INC 以适应。

但是,由于一些更深层次的变化,我怀疑该应用程序可能必须为 5.9 重新构建。

我真的不能对环境做很多深刻的改变,这不是我的系统,所以这是一个实现问题和一个编码问题,都混在一起了。

对此欢迎发表任何评论,我不是深入的催化剂专家,所以我希望有一种简单的方法来做到这一点。

【问题讨论】:

  • use Module VERSION 可能没有按照您的想法进行。它所做的只是从通常的位置加载Module,如果版本不是至少VERSION,则发出嘶嘶声。要加载特定版本的模块,您需要操作 @INC
  • 谢谢,一个可悲的事实 [!],谢谢你提醒我...

标签: perl catalyst


【解决方案1】:

使用local::lib 安装不同的 Catalyst 版本

【讨论】:

  • 也谢谢,我会问系统管理员,但这可能是一种解决方法。不幸的是,我也将不得不四处寻找,看看那里已经有什么......
  • @Julian,是的,这看起来可行,谢谢。我已经在本地机器上尝试过这个作为客户端远程机器的“排练”。通过 local::lib [可能使用了安装前缀] 在 ~/local_perl/lib/perl5/ 中获得了一个新的 Catalyst,然后当我在 Apache 启动时运行 preload-modules 脚本时添加了路径。日志显示 Catalyst 作为“本地”版本出现。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-11
  • 1970-01-01
  • 2018-04-23
  • 1970-01-01
  • 2018-10-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多