perl包安装的CPAN大坑

先看一个用cpan安装的例子。

perl 复制代码
$cpan -i App::cpanminus
Loading internal logger. Log::Log4perl recommended for better logging
Reading '/home/wubin/.cpan/Metadata'
  Database was generated on Tue, 24 Dec 2024 15:29:01 GMT
Running install for module 'App::cpanminus'

Trying with
    /usr/bin/wget -O "/home/wubin/.cpan/sources/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7048.tar.gz.tmp102266"
to get
    https://cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7048.tar.gz
--2024-12-25 16:27:09--  https://cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7048.tar.gz

正在解析主机 cpan,org...151.101.193.55,151.101.1.55,151.101.65.55
正在连接 cpan,orgl151.101.193.551:443...已连接。
错误:无法验证 cpan.org 的由 "/c=Us/o=Let's Encrypt/CN=R11" 颁发的证书:
   无法本地校验颁发者的权限。
要以不安全的方式连接至 cpan.org,使用:--no-check-certificate


    Function system("/usr/bin/wget -O "/home/wubin/.cpan/sources/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7048.tar.gz.tmp102266" "https://cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7048.tar.gz" ")
    returned status 5 (wstat 1280), left
/home/wubin/.cpan/sources/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7048.tar.gz.tmp102266 with size 0
    Giving up on '/home/wubin/.cpan/sources/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7048.tar.gz'
Note: Current database in memory was generated on Tue, 24 Dec 2024 15:29:01 GMT

如果是直接用wget 下载,那当然可以直接添加 "--no-check-certificate",
但我用的不是wget命令,而是cpan命令?
cpan调用了wget来下载, 怎么将 "--no-check-certificate"这个参数传给wget
github上这个帖子有几个解决方式:
https://github.com/miyagawa/cpanminus/issues/634
分别是:

  • 第一种
bash 复制代码
$ cat ~.wgetrc
check_certificate = off
  • 第二种
bash 复制代码
setting PERL_LWP_SSL_VERIFY_HOSTNAME to 0 will disable the SSL hostname verification.
https://metacpan.org/pod/LWP#PERL_LWP_SSL_VERIFY_HOSTNAME
CPAN is still available over HTTP. The index pages redirect to HTTPS, but individual files for modules and indexes are available over HTTP.
Try: curl -svo /dev/null http://www.cpan.org/modules/02packages.details.txt.gz and you will see 200 OK, not 301 redirect.

最终是第二种方式管用:

bash 复制代码
PERL_LWP_SSL_VERIFY_HOSTNAME=0 cpan install Net::SSLeay
相关推荐
秋936 分钟前
Go语言(Golang)开发工程师全景解析:岗位职责·语言优势与使用场景·各城市薪资·发展前景·高考志愿填报(2026版)
开发语言·golang·高考
睡不醒男孩0308231 小时前
第七篇:揭秘 PostgreSQL 数据库内核级管控:CLup 深度架构设计与高可用底座技术白皮书
数据库·postgresql·clup
cmes_love1 小时前
Level 2逐笔成交历史数据下载方法笔记
数据库·笔记·oracle
huangdong_1 小时前
1688商品图片采集技术解析:登录态处理与SKU图自动分类
开发语言
chase_my_dream2 小时前
C++ + SLAM 高频面试问题整理
开发语言·c++·面试
swordbob2 小时前
MySQL字符集陷阱:从Oracle迁移踩坑到utf8mb4强制规范
数据库·sql
牛油果子哥q2 小时前
【C++ STL string 】C++ STL string 终极精讲:底层原理、内存机制、全套API、深浅拷贝、易错坑点与工程实战规范
数据库·c++
十五年专注C++开发2 小时前
MySql中各种功能用sql语句实现总结
数据库·sql·mysql
Cloud_Shy6182 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第五章 Item 30 - 32)
开发语言·人工智能·笔记·python·学习方法
数据库小学妹2 小时前
AI时代数据库怎么选?多模融合、数据统一存储与选型实战指南
数据库·人工智能·经验分享·ai