windows下使用cpanm进行模块安装

版权声明:本文为sam的原创文章,转载请添加出处:http://blog.csdn.net/samed https://blog.csdn.net/samed/article/details/50622347

⊙▂⊙

要放假了,突然想整理一下手头上的软件,突然发现perl的安装模块这个功能不能用。

弄了一下,使得windows 下 perl 的 cpanm能用,避免成天为了依赖痛苦。



软件版本:#理论上此方法所有版本通用

windows8.1 64bit

Active-perl v5.22.1 64bit

dmake 4.12.2.2

cpanm 1.7040


扫描二维码关注公众号,回复: 3862646 查看本文章


1. 下载

1)perl:

https://www.perl.org/get.html    #比较简单不再赘述。

2)dmake: 

http://mirrors.163.com/cpan/authors/id/S/SH/SHAY/dmake-4.12.2.2.zip

3)cpanm(App::cpanminus):

http://mirrors.163.com/cpan/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7040.tar.gz

注意了,当前我下载的版本分别是 4.12.2.2 和 1.7040 ,随着时间推移,可能版本有更新,将上述路径红色部分去掉,浏览器打开,然后搜索对应的模块名称来下载即可。


2. 安装perl并添加环境变量(exe文件里面有提示添加,可以在那里添加即可,假设Perl安装路径是D:\Perl64)。


3. 将dmake-4.12.2.2.zip解压,把 startup 文件夹和 dmake.exe 文件放入D:\Perl64\bin


4. 解压App-cpanminus-1.7040.tar.gz 到任意目录,cmd窗口进入,输入如下命令:

perl Makefile.PL

dmake test

dmake install

上面这命令和在linux下的一样啦,只不过linux下是用gcc的make


5. 已经能用的了:

cpanm Net::SMTP::TLS


6. 运行上述命令的时候是不是报错啦?

D:\tools\perl>cpanm Net::SMTP::TLS

--> Working on Net::SMTP::TLS

Fetching http://www.cpan.org/authors/id/A/AW/AWESTHOLM/Net-SMTP-TLS-0.12.tar.gz... FAIL

! Download http://www.cpan.org/authors/id/A/AW/AWESTHOLM/Net-SMTP-TLS-0.12.tar.gz failed. Retrying ...

! Download http://www.cpan.org/authors/id/A/AW/AWESTHOLM/Net-SMTP-TLS-0.12.tar.gz failed. Retrying ...

! Download http://www.cpan.org/authors/id/A/AW/AWESTHOLM/Net-SMTP-TLS-0.12.tar.gz failed. Retrying ...

! Failed to download http://www.cpan.org/authors/id/A/AW/AWESTHOLM/Net-SMTP-TLS-0.12.tar.gz

! Failed to fetch distribution Net-SMTP-TLS-0.12

别急,这是因为你在大天朝帝国,幸好我们天朝也是有好人的:163和sohu的镜像站:http://mirrors.163.com/cpan、http://mirrors.sohu.com/CPAN/

使用cpanm的时候指定镜像站点就好了:

cpanm --mirror http://mirrors.163.com/cpan Net::SMTP::TLS


附加. 第6点实际上已经结束了的,但是我不能每次都这么搞啊,虽然163很可爱,但是也不能每次都输入一遍啊。

windows又没有alias,咋办?

简单的办法:

在D盘新建文件夹 bin ,在D:\bin 下新建文件:cpanm163.bat (注意名字一定要和cpanm区分开,不然会死循环),内容:

cpanm --mirror http://mirrors.163.com/cpan %1%

然后很重要的一点来了。

系统变量里面,默认是 D:\Perl64\site\bin;D:\Perl64\bin; 在最前面的(真流氓),我们在这个前面加上D:\bin;

就能将自己的程序优先执行了。

C:\Users\Administrator>cpanm163 Net::SMTP::TLS

C:\Users\Administrator>cpanm --mirror http://mirrors.163.com/cpan Net::SMTP::TLS

Net::SMTP::TLS is up to date. (0.12)

同理还能在ls.bat 文件 里面使用dir %1%来模拟linux的ls命令(当然,这个只是模拟,实际上功能不对滴) 。








猜你喜欢

转载自blog.csdn.net/samed/article/details/50622347