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,重新添加。

 

你可能感兴趣的:(windows)