有没有人建议找到可能在定制开发项目中出现的所有CPAN依赖关系的好方法.往往是这样的情况,您的本地开发环境很少与您的实时开发环境匹配,并且当您构建越来越多的项目时,您倾向于构建已安装模块的本地库.这些导致您不一定注意到您的最新项目对非核心模块有要求.由于通常需要将整个项目打包以部署到另一个组(在我们的案例中是我们的运营团队),因此了解应该包含哪些模块非常重要.
有没有人对这个问题有任何见解.
谢谢
彼得
我想知道是否有人可以帮助我.我通过命令行安装了CPAN.pm,然后尝试通过CPAN安装模块.但是我遇到了一个错误:
Can't call method "http" on unblessed reference at /usr/lib/perl5/5.10.0/CPAN/FirstTime.pm line 1866.
Run Code Online (Sandbox Code Playgroud) 我正在寻找一个良好的屏幕POD阅读体验.
多年来,我一直使用perldoc或man运行在xterm屏幕上阅读Perl文档,并打造一个小型自定义程序Pod::LaTeX来打印它.印刷版很好:脚本做得很好.但是,屏幕阅读很痛苦:
as部分DBIx::Class::ResultSet.Less对文档的结构一无所知,搜索常见的英文单词毫无意义.see section so-and-so.大.现在我必须找到它.然后回到我原来的地方将不会是微不足道的(虽然这可能是我不那么无知的表现)!perldoc foo有效,但两个文件之间的切换很难.你可以通过暂停较少并perldoc从shell 运行来解决这个问题,但这是更多的击键而且我很懒.我希望能够单击目录,然后转到该部分.我希望能够点击"看到其他"然后去那里.等等.到目前为止,我知道两种可能性:
DBIx::Class::ResultSet.需要Internet连接,但这通常不是问题.Podbrowser.刚开始尝试这个,看起来很不错.我正在运行Debian GNU/Linux,Lenny和Squeeze.但请为所有平台建议程序,以使其尽可能有用.
我想使用SVN :: Client cpan模块来检查存储库中的代码.
但是如何安装和使用这个模块?文档有点不存在.
我试过通过cpan安装Alien :: SVN模块并自己构建它.它似乎安装好了.没有错误消息,当我再次进入cpan并执行以下操作时,它表示已安装Alien :: SVN模块.
cpan> install Alien::SVN
Alien::SVN is up to date.
Run Code Online (Sandbox Code Playgroud)
这是我使用SVN :: Client的类:
use strict;
use warnings;
use Alien::SVN;
use SVN::Client;
sub new {
my $self = {
localpath => ''
};
bless($self);
return $self;
}
sub update_repository{
my ($self) = @_;
my $svn = SVN::Client->new();
return $svn->update($self->_getPath(), 'HEAD', 1);
}
sub _getPath{
my ($self) = @_;
return $self->{localpath};
}
Run Code Online (Sandbox Code Playgroud)
因此,当我使用脚本调用此类的更新存储库方法时,我收到以下错误:
Can't locate SVN/Client.pm in @INC (@INC contains: /opt/STS /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 …Run Code Online (Sandbox Code Playgroud) 我们有一个服务器场,我们正在慢慢迁移到新版本的Perl(5.12.1).我们目前正在运行5.8.5.操作系统也将从RedHat 4升级到RedHat 5,但RedHat 5仍然在Perl 5.8.8上.因此,在我们的源代码树中,我们将支持两个版本的Perl.
我被告知要将新版本的Perl安装到我们的源代码树中,以及我们当前使用的所有CPAN模块.我被告知用正确版本的Perl"编译"模块.我很困惑.对于不同版本的Perl,某些模块是否实际配置不同?鉴于此,我假设我应该为树中的每个Perl版本配置一个CPAN目录?
关于这种情况的任何信息或"陷阱"?
编辑:作为一个额外的问题,相同的cpan目录(由〜/ .cpan指向)是否适用于两个树,或者当我在不同的树(安装模块)工作时,我应该链接到不同的目录?
几年前,我向CPAN上传了一个模块,可能没有或没有对任何人使用过.它解决的问题很简单,它解决不好,代码让我感到尴尬.
我该如何删除它?
我以前在Mac OS X上使用Active Perl(v 10.7.5),然后切换到通过mac端口提供的那个(v 5.12.4).
现在,当我运行CPAN客户端或Perl调试,我无法访问使用ArrowUp和ArrowDown历史,什么是显示在提示是^[[A和^[[B分别.
至少在历史工作的调试器上,我可以访问过去的命令!NUM.
像往常一样,我很乐意处理CPAN,因为它得到了我们所需要的一切.像往常一样,我迷失了,因为有很多东西.
我可以自己找到核心JSON,并感受到JSON::Tiny另一个人的热情.
我的需求非常简单(从Open Library API解析东西),也许有一天会暴露我们自己的数据.
你喜欢这个任务的其他模块吗?
我正在尝试安装一些perl模块,但每次显示此消息时
New CPAN.pm version (v2.00) available.
[Currently running version is v1.960001]
You might want to try
install CPAN
reload cpan
to both upgrade CPAN.pm and run the new version without leaving
the current session.
Run Code Online (Sandbox Code Playgroud)
我试过这样做
install CPAN
reload cpan
Run Code Online (Sandbox Code Playgroud)
同
pi@raspbmc:~$ sudo perl -MCPAN -e shell
Terminal does not support AddHistory.
cpan shell -- CPAN exploration and modules installation (v1.960001)
Enter 'h' for help.
cpan[1]> install CPAN
Run Code Online (Sandbox Code Playgroud)
但结果是
Going to read '/root/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Going to read '/root/.cpan/sources/modules/02packages.details.txt.gz'
Database was generated …Run Code Online (Sandbox Code Playgroud) cpan ×10
perl ×10
arrow-keys ×1
debugging ×1
dependencies ×1
deployment ×1
json ×1
linux ×1
macos ×1
module ×1
perl-module ×1
perl5.12 ×1
pod ×1
svn ×1