hrep2v9589 发表于 2016-5-24 11:02:55

Windows离线安装ActivePerl模块的两种方法

第一种方法:利用.ppd文件安装
  这是在网上看到的方法,有人说下载模块的zip包,能解压出.tar.gz和.ppd两个文件,但是我从CPAN上没找到zip包,仅下载到.tar.gz包,所以自己按下面格式写了一个Net-SSH.ppd文件,每个tar.gz都需要对应一个ppd。
  

<SOFTPKG NAME="Net-SSH" VERSION="0.09">
<TITLE>Net-SSH</TITLE>
<ABSTRACT>Net-SSH</ABSTRACT>
<AUTHOR>Net-SSH</AUTHOR>
<IMPLEMENTATION>
<OS NAME="MSWin32" />
<ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.14" />
<CODEBASE HREF="Net-SSH-0.09.tar.gz" MCE_HREF="Net-SSH-0.09.tar.gz" />
</IMPLEMENTATION>
</SOFTPKG>
  
  architecture name 要与ActivePerl版本相匹配,否则安装失败
  codebase href 模块保存的路径
  打开command,输入ppm install Net-SSH.ppd,安装成功
  

第二种方法:利用Repository安装
  这个方法适合要安装的模块比较多,更适合局域网共享模块多人安装,最大的好处是直接使用PPM GUI,不用command,相当于局域网的模块管理服务器。
  打开Perl Package Manager-Preferences-Repositories,仿照默认下载地址的package.xml,自己重写一个package.xml保存在本地、HTTP或者FTP上,格式如下,有多少个模块就写多少个SOFTPKG:
  

<?xml version="1.0" encoding="UTF-8" ?>
<REPOSITORYSUMMARY ARCHITECTURE="MSWin32-x86-multi-thread-5.14">
<SOFTPKG NAME="Net-SSH" VERSION="0.09" DATE="2008-05-14">
<AUTHOR CPAN="Ivan Kohler">Ivan Kohler</AUTHOR>
<ABSTRACT>Perl extension for secure shell</ABSTRACT>
<CODEBASE HREF="http://172.168.0.1/perl/Net-SSH-0.09.tar.gz" />
<PROVIDE NAME="Net::SSH" VERSION="0.09" />
</SOFTPKG>
<SOFTPKG NAME="Net-SSH-Any" VERSION="0.03" DATE="2012-11-19">
<AUTHOR CPAN="Salvador Fandino Garcia">Salvador Fandino Garcia</AUTHOR>
<ABSTRACT>Perl extension for secure shell</ABSTRACT>
<CODEBASE HREF="http://172.168.0.1/perl/Net-SSH-Any-0.03.tar.gz" />
<PROVIDE NAME="Net::SSH::Any" VERSION="0.03" />
</SOFTPKG>
</REPOSITORYSUMMARY>

  
  Add Repository:
  Name:自定义名称,如Local Server
  Location:http://172.168.0.1/perl/package.xml
  点击Add按钮,查看Pkgs个数应该等于SOFTPKG个数,之后的操作就和在线安装一模一样了。
  
  如果模块install之后Run marked actions时出现解压文件出错,应该是package.xml的codebase路径有错误,tar.gz其实并没有下载成功,将路径在浏览器中打开,如果能弹出下载窗口就说明地址正确。package.xml有任何改动都需要删除原来的Repository,重新添加。
  
页: [1]
查看完整版本: Windows离线安装ActivePerl模块的两种方法