Articles of cpan

切换到不同版本的Perl – 模块版本

我试图使用一个新版本的Perl 5.18.1,我得到一个错误,我试图使用的模块之一: /usr/local/perl-5.18.1/bin/perl:符号查找错误:/home/riskprod/bin/lib/perl5/x86_64-linux-thread-multi/auto/Cwd/Cwd.so:undefined symbol:Perl_Tstack_sp_ptr 我有cpan,并将其用于我的模块。 从我的研究看来,错误的原因是它是使用不同版本的perl构build的。 我如何更改构build的版本? 什么才是解决这个问题的恰当方法? 一些细节 这是我在bash_profile中的: export PERL_LOCAL_LIB_ROOT="/home/riskprod/perl5:$PERL_LOCAL_LIB_ROOT"; export PERL_MB_OPT="–install_base "/home/riskprod/perl5""; export PERL_MM_OPT="INSTALL_BASE=/home/riskprod/perl5"; export PERL5LIB="/home/riskprod/perl5/lib/perl5:$PERL5LIB"; export PATH="/home/riskprod/perl5/bin:$PATH"; 以下是我如何运行cpan: /usr/local/perl-5.18.1/bin/perl -MCPAN -e shell 我做了这个重新安装: force install Cwd

创build新的Linux用户后出现错误消息

我用CPAN模块Unix::Passwd::File创build了一个新的debian用户(我使用过这个模块,因为我已经被要求创build用户而不使用adduser或useradd )。 该模块通过添加以下行中的行来创build用户: /etc/passwd /etc/shadow /etc/group /etc/gshadow 然后Perl脚本使用以下命令创build主目录: mkdir $directory; chown $user, $directory; 在此之后,我尝试login并得到以下错误消息: Could not update ICEauthority file /home/user/.ICEauthority There is a problem with the configuration server.(/usr/lib/libgconf2-4/gconf-sanity-check-2 exited with status 256) Nautilus could not create the following required folders: /home/user/Desktop, /home/user/.nautilus 我在这里错过了什么? 提前致谢。

哪一个很好用 – Zoidberg或Term :: Shell(Perl模块)在Perl中实现自定义shell?

我将编写我自己的shell的代码,它有一些自定义的命令,我想用Perl编写它。 我发现CPAN上有两个模块可以帮助我。 1)Term :: Shell( http://search.cpan.org/~shlomif/Term-Shell-0.06/lib/Term/Shell.pod ) 2)Zoidberg( https://metacpan.org/pod/Zoidberg ) 我应该使用哪个模块来执行? 是Term:Shell比Zoidberg老,然后缺lessZoidberg的特性? 或者还有其他哪个模块可以帮助我更好吗?

列出已经制作但尚未安装的CPAN模块

在Linux /类似Linux的环境中,有没有一种简单/干净的方法来做到这一点? 目的 我的目标是仅在安装阶段使用pipe理员权限运行CPAN,而不是在get / make / test阶段。

yum / apt-get在cpan之前pipe理UNIX系统范围的Perl模块?

Perl的cpan命令是pipe理Perl模块的强大方法。 但是,在UNIX系统下维护模块时, Michal Ingeli指出另一个可能的select是yum install 'perl(PerlModuleName)' 。 如果有的话,在这种情况下应该是我的第一个胜地? 例如,命令cpanm CGI将CGI模块安装在我的〜/ perl5目录下,如果CGI模块只在我的帐户下运行,那么这个CGI模块可能是最好的。 但是这不会将CGI模块提供给由其他帐户运行的脚本。 我可以使用cpanm -l <directory>强制cpanm命令将模块加载到特定目录(例如, cpanm -l /usr/local CGI将CGI安装到/ usr / local / lib / perl5),或者我可以编辑~/cpan/CPAN/MyConfig.pm更改默认安装位置cpan使用。 但在几乎所有的系统上,都存在多个Perl系统库位置(/ usr / local / share / perl5,/ usr / share / perl5 / vendor_perl,/ usr / lib64 / perl5等),select正确的因为这些不是由cpan命令生成的。 考虑到这一点,我应该在cpan之前转向yum (如果可用)来进行系统级的UNIX Perl模块pipe理吗? 使用如下命令testing是很容易的: yum install 'perl(LWP::Simple)' 如果yum在这种情况下失败了,我会回到: cpanm […]

如何更改perl cpan存储库位置

当我使用cpan来安装模块时,有一个非常不稳定和缓慢的下载源,我可能想在多台机器上安装该模块? 有可能将perl模块库更改为其他地址,或将repos复制到本地磁盘。 或者,我们可以使用cpan将本地模块文件保存到本地。 看来cpan会在安装后删除它。

使用cpanm安装perl模块时出错

我使用perlbrew和cpanm。 在做cpanm Test::More我得到以下内容: –> Working on Test::More Fetching http://10.64.0.7:8002/authors/id/L/LO/LOCAL/Test-Simple-1.001003.tar.gz … OK Configuring Test-Simple-1.001003 … OK Building and testing Test-Simple-1.001003 … OK Successfully installed Test-Simple-1.001003 (upgraded from 0.98) cannot unlink file for /home/hamid/.cpanm/work/1406642140.19670/build.log: Permission denied at /loader/0x1bdc0a8/App/cpanminus/script.pm line 99 cannot restore permissions to 0100644 for /home/hamid/.cpanm/work/1406642140.19670/build.log: Permission denied at /loader/0x1bdc0a8/App/cpanminus/script.pm line 99 cannot remove directory for […]

无法在Linux上安装PAR :: Packer 1.014

在安装CPAN模块时,PP(PAR :: Packer)总是失败。 如果我通过cpan安装它失败。 cpan> cpan pp CPAN: Storable loaded ok (v2.41) Reading '/root/.cpan/Metadata' Database was generated on Sun, 15 Sep 2013 03:41:03 GMT Running install for module 'pp' Running make for R/RS/RSCHUPP/PAR-Packer-1.014.tar.gz CPAN: Digest::SHA loaded ok (v5.84_01) CPAN: Compress::Zlib loaded ok (v2.06) Checksum for /root/.cpan/sources/authors/id/R/RS/RSCHUPP/PAR-Packer-1.014.tar.gz ok CPAN: File::Temp loaded ok (v0.23) CPAN: Parse::CPAN::Meta loaded […]

git checkout –patch,但是失败,无法在@INC中findGit.pm

当我运行git checkout –patch origin / master file.java时,我看到: Can't locate Git.pm in @INC (you may need to install the Git module) (@INC contains: /usr/share/perl/5.14.2 /usr/local/perl/lib/site_perl/5.20.0/x86_64-linux /usr/local/perl/lib/site_perl/5.20.0 /usr/local/perl/lib/5.20.0/x86_64-linux /usr/local/perl/lib/5.20.0 .) at /usr/lib/git-core/git-add–interactive line 7. BEGIN failed–compilation aborted at /usr/lib/git-core/git-add–interactive line 7. 我在Ubuntu 12.04.4 LTS上运行它。 git的版本是1.7.9.5。 perl是为x86_64-linux构build的perl5,版本20,subversion 0(v5.20.0)。

将Perl模块安装到特定位置

我有几台运行Perl程序和其他程序和工具的Linux机器。 我想让机器之间的所有工具保持同步,所以我在一台机器(主)和其他机器之间共享了/usr/local目录。 现在我想把所有的Perl模块及其依赖关系保存在/usr/local/<path to modules> 。 我已经find了local::lib模块,但是这是为了将模块安装到你的主目录。 我如何设置CPAN(或CPAN替代品)将所有模块和依赖关系安装到一个位置? 我怎样才能在其他机器上设置Perl来使用该位置来查找模块?