使用 cpan 安装 perl 依赖时的网络问题

最近在弄 openEuler 的 texlive 升级工作, 看到了它们有自己的 perl bot,并且 texlive 的升级需要的几个 perl 包的 PR 毫无动静,故打算自己提个 PR.

遇到的最大困难其实是网络问题,这里有一个小坑.

cpan shell 是不吃系统变量 http_proxyhttps_proxy 的.但是可以使用 o conf http_proxy,坑来啦!

必须要这么填写:

o conf http_proxy http://192.168.251.187:8444

不能这么填写:

o conf http_proxy 192.168.251.187:8444

否则会遇到这个错误:

Fetching with HTTP::Tiny:
https://cpan.org/authors/id/O/OA/OALDERS/HTTP-Cookies-6.10.tar.gz
Error downloading with HTTP::Tiny: generic proxy URL must be in format http[s]://[auth@]<host>:<port>/
 at /usr/share/perl5/vendor_perl/CPAN/HTTP/Client.pm line 35.

设置之后记得 o conf commit 保存一下,否则是临时的修改.

如果想跳过每次安装时询问代理的用户名和密码,可以使用 export PERL_MM_USE_DEFAULT=1 这个命令解决. 或者好好使用 o conf init /proxy/ 来完整过一遍代理的设置.


如果喜欢本文,欢迎点击下方的「鼓掌」按钮!

如果上面没有加载出任何东西,可以点击这里