在我公司的一些电脑里,只有IE才能上网。因此,我想知道是否可以在本地镜像中获得一些CPAN模块的本地副本。我听说了CPAN::Mini模块,它可以同步本地镜像和公共镜像。
如何使用IE手动下载镜像中的模块,并配置cpan以在本地查找模块?
编辑
我不能使用CPAN::Mini或其他类似的工具,因为只有IE才能访问internet。我得先通过IE复制我的镜子。
发布于 2015-01-14 15:20:16
如果您只想要一个CPAN的部分镜像,那么您可以很容易地使用OrePAN2实现这一点。
orepan2-inject --simple Module::Name /path/to/darkpan/这也将为您生成02包文件,CPAN客户端可以读取该文件。
orepan2-inject --simple Carton darkpan
Wrote 1 from Carton
[INFO] Could not find useful meta from 'darkpan/authors/id/D/DU/DUMMY/Carton- v1.0.12.tar.gz'
[INFO] Scanning for provided modules...
/tmp/foo ∙ tree darkpan/
darkpan/
├── authors
│ └── id
│ └── D
│ └── DU
│ └── DUMMY
│ └── Carton-v1.0.12.tar.gz
├── modules
│ └── 02packages.details.txt.gz
└── orepan2-cache.json发布于 2015-01-25 12:59:41
Mini使用LWP来获取文件。问题的症结在于这句简单的台词:
my $res = $self->{__lwp}->mirror($remote_uri, $local_file);这只是来自LWP::UserAgent的mirror。想出一个替代的方法来代替IE,也许使用Win32 32::OLE来驱动IE,你就在这里了。CPAN::Mini可以使用一些依赖项注入来获取文件。
以前有一个名为Win32 32::Mechanize::IE的工具,但是它是停止使用新的IE8安全模块的。
或者,我会探索如何使内部的LWP对象看起来像IE。我不知道你的代理或网络的细节,但我敢打赌有一些神奇的标题或设置,你可以伪造从LWP。参见,例如,HTTPS代理和LWP::UserAgent。我不得不相信,比IE更能访问互联网。
作为最后的努力,带一些啤酒到Windows管理员的所有力量。结交朋友,节省一些代码。:)
如果我没有发现源被Dist::Zilla胡说八道,我可能已经完成了依赖注入工作。我从来没有特别关心人们使用什么工具,只要他们不强迫我使用相同的工具,并且文字源代码不依赖于外部工具的需求。
现在已经到了这样的地步,人们为了让孩子们坐在酷酷的桌子上而放弃参与,让合作的障碍变得如此之高。我只是觉得这很难闻,因为我认为人们没有意识到这种交换。当他们决定不帮忙的时候,没人告诉你。他们根本帮不了你,你也没有意识到你放弃了他们本可以贡献的所有时间。
https://stackoverflow.com/questions/27908926
复制相似问题