我正在尝试部署到 dotcloud。我的 Makefile.PL 指出我需要 URI 1.60。development.yml 文件也这么说。构建器声称已安装该模块。
18:38:39: [www] I am snapshotsworker_02/bob-3, and I will be your builder today.
18:38:55: [www] URI is up to date. (1.60)
如果我跑
dotcloud run www -- perl -MURI -e '1'
它失败了
Can't locate URI.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .).
BEGIN failed--compilation aborted.
这可能是正确的,因为通常模块安装在 ~/perl5 下。所以,我尝试了:
$ dotcloud run www -- perl -I /home/dotcloud/perl5/lib/perl5 -MURI -e '1'
==> Executing "perl -I /home/dotcloud/perl5/lib/perl5 -MURI -e 1" on service (www) instance #0 (application XXXX)
Can't locate URI.pm in @INC (@INC contains: /home/dotcloud/perl5/lib/perl5 /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .).
BEGIN failed--compilation aborted.
同样奇怪的是 cpanm 不可用,尽管文档说我们可以使用它:
$ dotcloud run www -- cpanm URI
==> Executing "cpanm URI" on service (www) instance #0 (application XXXX)
bash: cpanm: command not found
有什么提示吗?
编辑:这似乎不是这个模块的问题。LWP 也有同样的情况。然后,更奇怪的是,HTTP::Date 依赖于 LWP。某些模块依赖项无法正常工作。旧版本的 dotcloud 客户端我从来没有遇到过这个问题。
谢谢你,阿尔贝托