windows下使用cpanm進行模塊安裝
要放假了,突然想整理一下手頭上的軟件,突然發現perl的安裝模塊這個功能不能用。
弄了一下,使得windows 下 perl 的 cpanm能用,避免成天為了依賴痛苦。
軟件版本:#理論上此方法所有版本通用
??? windows8.1 64bit
??? Active-perl v5.22.1 64bit
??? dmake 4.12.2.2
??? cpanm 1.7040
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命令(當然,這個只是模擬,實際上功能不對滴) 。
轉載于:https://www.cnblogs.com/yisuo/p/9246955.html