2

我需要在无法访问 Internet 的情况下在 Windows 机器上安装 Strawberry Perl 和许多 Perl 模块(具有依赖项)(出于安全原因)。

Strawberry Perl 的离线安装工作完美,但我没有设法安装我需要的其他模块。

我使用Pinto在 Ubuntu 机器上准备了一个类似 CPAN 的存储库:

pinto --root my_repo init
pinto --root my_repo pull -M Some::Mudule1 Some::Mudule2

然后我将my_repo目录转移到目标机器C:\some\path\my_repo并尝试:

cpanm --mirror "file://C:/some/path/my_repo" --mirror-only Some::Mudule1 Some::Mudule2

但它最终得到了错误消息:

! cannot open file 'C:\Users\dedek/.cpanm/sources/file%C%some%path%my_repo/02packages.details.txt.gz': No such file or directory opening compressed index
! Couldn't find module or a distribution Some::Mudule1
! cannot open file 'C:\Users\dedek/.cpanm/sources/file%C%some%path%my_repo/02packages.details.txt.gz': No such file or directory opening compressed index
! Couldn't find module or a distribution Some::Mudule2

为什么cpanm要找这么奇怪的位置?我该如何解决?有没有更简单的方法可以离线安装 Perl 模块?如果我可以在 Windows 机器上准备类似 CPAN 的存储库,那就太好了。但是我在Windows上安装Pinto没有成功,可以吗?

4

1 回答 1

1

最后我发现了我的错误。Pinto 制作的原始 CPAN 类似存储库中有一个符号链接modules -> stacks/master/modules。并且此链接在传输过程中被丢弃(使用 WinSP)。当我复制my_repo/stacks/master/modulesmy_repo/modules一切正常时。

我真的很感激来自 ! 的更相关的错误消息cpanm

于 2014-09-16T10:09:24.057 回答