在我公司的某些计算机中,只有IE可以访问Internet。所以我想知道我是否可以在本地镜像中拥有一些CPAN模块的本地副本。我听说CPAN::Mini
模块可以将本地镜像与公共镜像同步。
如何使用IE手动下载镜像中我想要的模块,并配置cpan
以在本地查找模块?
修改
我无法使用CPAN :: Mini或其他类似工具,因为只有IE才能访问互联网。我需要先通过IE复制我的镜像。
答案 0 :(得分:1)
如果您只想要CPAN的部分镜像,可以使用OrePAN2轻松完成此操作。
orepan2-inject --simple Module::Name /path/to/darkpan/
这也将为您生成02packages文件,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
答案 1 :(得分:1)
CPAN :: Mini使用LWP获取文件。问题的关键在于这个简单的界限:
my $res = $self->{__lwp}->mirror($remote_uri, $local_file);
这只是来自LWP::UserAgent的mirror
。想出一个替代方法,使用IE代替,也许使用Win32::OLE来驱动IE,你就是。 CPAN::Mini可以对获取文件的东西使用一点依赖注入。
曾经有一个名为Win32 :: Mechanize :: IE的工具,但stopped working with the new IE8 security module。
或者,我会探索使内部LWP对象看起来像IE的方法。我不知道您的代理或网络的详细信息,但我敢打赌,您可以从LWP伪造一些神奇的标题或设置。例如,请参阅HTTPS Proxy and LWP::UserAgent。我不得不相信IE可以访问互联网。
作为最后的努力,请向Windows管理员提供一些啤酒。结交朋友并保存一些编码。 :)
我可能已经完成了依赖注入工作了但是我没有发现源已经被Dist :: Zilla无意义变态。我从来没有特别关心人们使用什么工具,只要他们不强迫我使用相同的工具,并且文字源代码不依赖于外部工具的要求。
通过使协作的障碍如此之高,人们正在抛弃参与酷儿童桌的座位。我只是觉得很糟糕,因为我不认为人们会实现这种权衡。当他们决定不帮忙时,没有人告诉你。他们根本没有帮助,你没有意识到你放弃了他们本可以贡献的所有时间。