首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将cpan安装Perl到特定的存储库中

将cpan安装Perl到特定的存储库中
EN

Stack Overflow用户
提问于 2020-02-06 16:06:23
回答 2查看 187关注 0票数 0

您好,我实际上在这里安装了一个名为HmmCleaner的perl模块:

代码语言:javascript
复制
https://metacpan.org/pod/HmmCleaner.pl

为此,我使用:

代码语言:javascript
复制
/beegfs/data/me/perl-5.30.1/localperl/bin/cpan Bio::MUST::Apps::HmmCleaner

但我实际上是在一个共享集群中,我们有两个主要目录:

代码语言:javascript
复制
/beegfs/home/me

代码语言:javascript
复制
/beegfs/data/me 

在主存储库中,我有一个块文件数量的阈值,不能

我有一个不能超过块文件数量的阈值,当我运行/beegfs/data/me/perl-5.30.1/localperl/bin/cpan Bio::MUST::Apps::HmmCleaner命令时,由于某种原因,一些文件被创建到主目录中,当我查看日志文件时,我发现此时出现了问题:

代码语言:javascript
复制
! Installing Bio::MUST::Core::Utils failed. See /beegfs/home/me/.cpanm/work/1580931498.36405/build.log for details. Retry with --force to force install it.
Warning: unable to close filehandle $out properly: Disk quota exceeded at /beegfs/data/me/perl-5.30.1/localperl/bin/cpanm line 49.
Warning: unable to close filehandle $out properly: Disk quota exceeded at /beegfs/data/me/perl-5.30.1/localperl/bin/cpanm line 49.
Warning: unable to close filehandle $out properly: Disk quota exceeded at /beegfs/data/me/perl-5.30.1/localperl/bin/cpanm line 49.

但是当我查看data中的磁盘配额时,内存和chuck文件都没有达到限制,但是对于home来说,块文件的数量已经超过了!

是否有人知道如何强制将安装过程中创建的所有文件运行到数据存储库而不是主目录?

谢谢你的帮助。

对于polarbear:

当我这样做的时候:

代码语言:javascript
复制
/beegfs/data/me/perl-5.30.1/localperl/bin/cpan -D local::lib

我得到:正在加载内部记录器。建议使用Log::Log4perl进行更好的日志记录

代码语言:javascript
复制
CPAN.pm requires configuration, but most of it can be done automatically.
If you answer 'no' below, you will enter an interactive dialog for each
configuration option instead.

Would you like to configure as much as possible automatically? [yes] yes
Fetching with LWP:
http://www.cpan.org/authors/01mailrc.txt.gz
Reading '/beegfs/home/me/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Fetching with LWP:
http://www.cpan.org/modules/02packages.details.txt.gz
Reading '/beegfs/home/me/.cpan/sources/modules/02packages.details.txt.gz'
  Database was generated on Thu, 06 Feb 2020 08:41:03 GMT
.............
  New CPAN.pm version (v2.27) available.
  [Currently running version is v2.22]
  You might want to try
    install CPAN
    reload cpan
  to both upgrade CPAN.pm and run the new version without leaving
  the current session.


...............................................................DONE
Fetching with LWP:
http://www.cpan.org/modules/03modlist.data.gz
Reading '/beegfs/home/me/.cpan/sources/modules/03modlist.data.gz'
DONE
Writing /beegfs/home/me/.cpan/Metadata
local::lib
-------------------------------------------------------------------------
    (no description)
    H/HA/HAARG/local-lib-2.000024.tar.gz
    (no installation file)
    Installed: not installed
    CPAN:      2.000024  Not up to date
    Graham Knop (HAARG)
    haarg@haarg.org
EN

回答 2

Stack Overflow用户

发布于 2020-02-06 18:06:38

让我们来看下一个场景

代码语言:javascript
复制
mv ~/.cpam /beegfs/data/me
ln -s /beegfs/data/me/.cpan ~/.cpan
HOME=/beegfs/data/me perl -Mlocal::lib > ~/.lib_perl

这些命令将

模块将$HOME /.cspan目录从$HOME移动到本地目录中的本地目录

  • 使用local::lib /beegfs/data/me
  • symlink
  • 运行perl将检查$SHELL
  • 将配置变量输出到$HOME/.lib_perl文件

<代码>F212

现在根据您的$SHELL (bash - .bashrc,csh - .cshrc,...)在您的shell环境中编写$HOME/.libperl。登录到系统时。

当您远程工作时,您必须注销并登录才能获取更改(在单独的终端中执行此操作,以防您做错了什么,并且您需要后门来恢复更改)。

此时,您应该能够使用cpan将模块安装到/beegfs/data/me/perl5目录中。

票数 2
EN

Stack Overflow用户

发布于 2020-02-06 16:38:33

使用以下命令检查是否安装了local::lib

cpan -D local::lib

如果安装了它,那么请访问下面的网页local::lib并进行一些阅读--请注意第四点。

否则,请检查系统中是否有可用的cpanm

作为一个选项,您可以手动设置变量

代码语言:javascript
复制
PERL_MB_OPT
PERL_MM_OPT
PERL5LIB
PATH
PERL_LOCAL_LIB_ROOT

在设置私有库之前,请检查您是否有存储目录的写权限。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60090244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档