标签: cpanm

如何检查失败的`docker build`的文件系统?

我正在尝试为我们的开发过程构建一个新的Docker镜像,使用cpanm安装一堆Perl模块作为各种项目的基本映像.

在开发Dockerfile时,cpanm返回失败代码,因为某些模块没有干净地安装.

我很确定我需要apt安装更多东西.

我的问题是,在哪里可以找到/.cpanm/work输出中引用的目录,以便检查日志?在一般情况下,如何检查失败docker build命令的文件系统?

早上编辑咬了子弹然后跑了一个find我发现的

/var/lib/docker/aufs/diff/3afa404e[...]/.cpanm
Run Code Online (Sandbox Code Playgroud)

这是可靠的,还是我最好建立一个"裸"容器并手动运行东西,直到我拥有我需要的所有东西?

debugging docker cpanm

238
推荐指数
6
解决办法
8万
查看次数

cpan和cpanm有什么区别?

cpancpanm命令有什么区别?

他们似乎都安装了perl模块,那有什么区别?

perl cpan cpanm

20
推荐指数
2
解决办法
9806
查看次数

ListUtil.c:可加载库和perl二进制文件不匹配(获取握手键0xdb00080,需要0xdb80080)

出于某种原因,每当我运行任何Perl模块(如cpanm)时,我都会得到这样的响应:

ListUtil.c: loadable library and perl binaries are mismatched (got         
handshake key 0xdb00080, needed 0xdb80080)
Run Code Online (Sandbox Code Playgroud)

我不确定为什么会这样.似乎没有任何额外的堆栈跟踪,即使有很多关于此错误的错误报告和问题,我也无法找到解决方案.我正在运行Ubuntu 17.04.

编辑:我正在运行Ubuntu附带的默认Perl安装.

ubuntu perl perl-module cpanm

12
推荐指数
3
解决办法
8373
查看次数

CPAN要求文件

使用pip,您可以创建需求文件以指定要安装的库.是否有使用CPAN的perl模块的等效项?

我遇到了ExtUtils :: MakeMaker,但这看起来像make文件专门用于每个模块.

我想尝试更好地了解我所问的是否有办法做某事

cpan install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)

然后指定要在该需求文件中安装的模块.

提前致谢!

perl cpan requirements.txt cpanm

9
推荐指数
2
解决办法
1317
查看次数

如何设置我的Dockerfile以使用cpanm来安装特定版本的Perl模块?

在我的Dockerfile中,我正在设置将在运行时安装的Perl模块,如下所示:

RUN ["cpanm", "Carp", "Carp::Heavy", "Class::Data::Inheritable"]

但是,对于一个模块,我需要一个特定版本的模块,而不是最新版本.如何在上面的行中指定该版本?

我一直在网上搜索几个小时,但还没有找到任何有用的东西.

perl docker cpanm dockerfile

7
推荐指数
2
解决办法
1305
查看次数

Perl中的核心,供应商和站点位置有什么区别?

我最近在安装一些模块时遇到了一些问题,并且我惊讶地发现许多已经安装的模块都有重复的安装和版本.试图跟踪标准(如果有这样的东西)安装使用的东西cpanm,我发现以下结果非常混乱.

报告显示了这些位置:

  • 使用cpan -V:
# cpan -V

/usr/bin/cpan script version 1.672, CPAN.pm version 2.22
--------------------------------------------------
Checking install dirs...
Checking core
        + /usr/share/perl5/5.26
        + /usr/lib/perl5/5.26/x86_64-cygwin-threads
Checking vendor
        + /usr/share/perl5/vendor_perl/5.26
        + /usr/lib/perl5/vendor_perl/5.26/x86_64-cygwin-threads
Checking site
        + /usr/local/share/perl5/site_perl/5.26
        + /usr/local/lib/perl5/site_perl/5.26/x86_64-cygwin-threads
Checking PERL5LIB
        no directories for PERL5LIB
Checking PERLLIB
        no directories for PERLLIB
Run Code Online (Sandbox Code Playgroud)
  • 使用perl -V:.*site.*:
# perl -V:.*site.* |column -t -s "=" |sort -d -i -k 1.22

d_sitearch           'define';
usesitecustomize     'undef';
siteprefix           '/usr/local';
siteprefixexp        '/usr/local';
installsitebin       '/usr/local/bin';
installsitescript    '/usr/local/bin'; …
Run Code Online (Sandbox Code Playgroud)

perl cygwin cpan cpanm

7
推荐指数
1
解决办法
225
查看次数

CPANM,"无法找到模块或分发Archive :: zip"

我正在尝试在Perl中编写需要多个模块的东西,但这是我第一次使用Perl而我似乎无法安装我需要的一个特定模块Archive::zip.

我使用perlbrew并使用以下命令尝试安装模块:

cpanm install Archive::zip
Run Code Online (Sandbox Code Playgroud)

这将通过命令行返回以下消息:

install is up to date. (0.01)
! Finding Archive::zip on cpanmetadb failed.
! Finding Archive::zip () on mirror http://www.cpan.org failed.
! Couldn't find module or a distribution Archive::zip
Run Code Online (Sandbox Code Playgroud)

起初我认为"安装是最新的意味着"我拥有它,但是我试图运行的任何需要该模块的东西都告诉我它已经丢失了.我认为之后的消息意味着它找不到任何安装此模块的地方,而且我似乎没有在网上任何地方发现过这个问题.如果是这种情况,我可以指定一个不同的镜像吗?

如果它可能与此相关,我目前正在使用OSX 10.10.2.

perl cpan module cpanm

6
推荐指数
1
解决办法
3172
查看次数

由于缺少“make”,Cpanm 无法安装任何模块

我最近安装了 XAMPP。到目前为止一切都很好,但有一件事让我无法休息:我无法通过 cpanm 获取任何模块。典型的安装日志如下所示:

cpanm (App::cpanminus) 1.6005 on perl 5.016003 built for MSWin32-x86-multi-thread
Work directory is C:\Users\2B86~1/.cpanm/work/1448496711.6352
You have LWP 6.04
You have C:\Users\boss\AppData\Local\Atlassian\SourceTree\git_local\bin\tar.exe, C:\Users\boss\AppData\Local\Atlassian\SourceTree\git_local\bin\gzip.exe and C:\Users\boss\AppData\Local\Atlassian\SourceTree\git_local\bin\bzip2.exe
You have C:\Users\boss\AppData\Local\Atlassian\SourceTree\git_local\bin\unzip.exe
Searching DateTime::Tiny on cpanmetadb ...
--> Working on DateTime::Tiny
Fetching http://www.cpan.org/authors/id/A/AD/ADAMK/DateTime-Tiny-1.04.tar.gz
-> OK
Unpacking DateTime-Tiny-1.04.tar.gz
Entering DateTime-Tiny-1.04
Checking configure dependencies from META.yml
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.64)
Configuring DateTime-Tiny-1.04
Running Makefile.PL
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have ExtUtils::MakeMaker 0 ... Yes …
Run Code Online (Sandbox Code Playgroud)

cpanm

6
推荐指数
1
解决办法
5224
查看次数

是否可以在 cpanm 文件中要求 git 存储库?

我正在尝试使用 cpanfile 和 cpanm 来安装大量模块。其中一个模块 Unicode::String 在 CPAN 上有一个错误,作者仅在 Github 上修复了该错误。(https://github.com/msouth/Unicode-String

是否可以将 Github 存储库列为 cpanfile 中的要求,并从那里而不是从 CPAN 安装 cpanm?如果是这样,这样做的正确语法是什么?

我发现的最接近的是 2013 年的一条线索,宫川说它将在未来的版本中推出,然后未来的版本很脆弱并且被搁置:

https://github.com/perl-carton/carton/issues/132 (这里讨论 carton,但由于它们都使用 cpanfile,因此语法应该相同。)

perl github unicode-string cpanm

5
推荐指数
1
解决办法
565
查看次数

cpanm 使用自定义库和 cflags

在我的 mac OS X 机器上Darwin maci 15.6.0 Darwin Kernel Version 15.6.0

我已在以下自定义目录中安装了 libxml2 和 libxslt

/usr/local/MyLibs/libxml2-2.9.2

和 libxslt

/usr/local/MyLibs/libxslt-1.1.29

现在我想使用这些库来构建我的 CPANM 模块XML::LibXSLT

告诉我我可以使用--configure-args(它仍然是实验性的)来做到这一点。所以我做了类似的事情,

cpanm http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/XML-LibXSLT-1.94.tar.gz --configure-args="--cflags=-I/usr/local/libxslt-1.1.29/include -I/usr/include/libxml2 -I/usr/local/MyLibs/libxml2-2.9.2/include/libxml2 --libs=-L/usr/local/libxslt-1.1.29/lib -lxslt -lxml2 -lz -lpthread -licucore -lm -L/usr/local/MyLibs/libxml2-2.9.2/lib -lxml2 -lz -lpthread -liconv -lm" --force
Run Code Online (Sandbox Code Playgroud)

但是,构建日志表明它没有使用我的自定义位置中安装的库。

我是否有什么做得不正确的地方?

perl cpan xml-libxml cpanm

5
推荐指数
2
解决办法
1826
查看次数