Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Windows和Strawbery Perl上脱机安装具有依赖项的Perl模块?_Perl_Installation_Offline_Strawberry Perl_Cpanm - Fatal编程技术网

如何在Windows和Strawbery Perl上脱机安装具有依赖项的Perl模块?

如何在Windows和Strawbery Perl上脱机安装具有依赖项的Perl模块?,perl,installation,offline,strawberry-perl,cpanm,Perl,Installation,Offline,Strawberry Perl,Cpanm,我需要在Windows机器上安装草莓Perl和许多Perl模块(带有依赖项),而不需要访问internet(出于安全原因) 草莓Perl的离线安装非常好,但我没有安装所需的其他模块 我在Ubuntu机器上准备了一个类似CPAN的存储库,使用: pinto——根目录my_repo init pinto--根my_repo pull-M Some::Mudule1 Some::Mudule2 然后我将my_repo目录作为C:\some\path\my_repo传输到目标机器,并尝试: cpanm

我需要在Windows机器上安装草莓Perl和许多Perl模块(带有依赖项),而不需要访问internet(出于安全原因)

草莓Perl的离线安装非常好,但我没有安装所需的其他模块

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

pinto——根目录my_repo init
pinto--根my_repo pull-M Some::Mudule1 Some::Mudule2
然后我将
my_repo
目录作为
C:\some\path\my_repo
传输到目标机器,并尝试:

cpanm--mirror“file://C:/some/path/my_repo”--仅镜像一些::Mudule1一些::Mudule2
但最终出现了错误消息:

!无法打开文件“C:\Users\dededek/.cpanm/sources/文件%C%some%path%my_repo/02packages.details.txt.gz”:没有这样的文件或目录打开压缩索引
! 找不到模块或发行版Some::Mudule1
! 无法打开文件“C:\Users\dededek/.cpanm/sources/文件%C%some%path%my_repo/02packages.details.txt.gz”:没有这样的文件或目录打开压缩索引
! 找不到模块或发行版Some::Mudule2

为什么
cpanm
在寻找如此奇怪的位置?我怎样才能修好它?有没有更简单的方法来离线安装Perl模块?如果我能在Windows机器上准备类似CPAN的存储库,那也太好了。但是我没有成功地在Windows上安装Pinto,有可能吗?

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

如果能从
cpanm
收到更相关的错误消息,我将不胜感激

从一个相关的问题中,我注意到草莓Perl PortableZIP版可以解决这个问题。但我仍然好奇我的方法有什么问题。