1. 程式人生 > >windows下使用cpanm進行模組安裝

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命令(當然,這個只是模擬,實際上功能不對滴) 。