PPM 安装错误:找不到合适的安装目标包
问:如何修复我在使用 ppm install 安装 perl 模块时收到的“错误:找不到合适的安装目标包”错误消息?
答:当我们在防火墙后面时,我们会选择 'ppm through local repository' 来安装 perl 模块,这是最简单的方法。在使用 ppm 本地存储库安装 perl 模块时,我们经常遇到错误“错误:没有找到适合包的安装目标”,如下所示。
C:\DBD>ppm install DBD-DB2
Error: no suitable installation target found for package DBD-DB2
(or)
$ ppm install DBD-DB2
Error: no suitable installation target found for package DBD-DB2
在本文中,让我们回顾一下如何在安装任何 perl 包时修复“错误:没有为 DBD-DB2 包找到合适的安装目标”。
下面的说明解释了如何在 windows 平台上解决这个问题。但是,您可以在 Linux 上按照类似的步骤来解决相同的问题。
修复错误的解决方案:没有找到适合包的安装目标
1.下载ppd文件和包
下载以下 PPD 和包文件
- http://theoryx5.uwinnipeg.ca/ppms/DBD-DB2.ppd
- http://theoryx5.uwinnipeg.ca/ppms/DBD-DB2.tar.gz
注意:确保将 DBD-DB2 替换为您对应的包名。
2. 创建一个目录来保存下载
创建 DBD 目录来存储下载的 ppd 文件。
C:\> mkdir DBD
创建 X86 目录以保存下载的 tar 文件。
C:\DBD>mkdir x86
现在它应该看起来像:
C:\DBD>dir
Volume in drive C is SYS
Volume Serial Number is 1223-34B3
Directory of C:\DBD
01/12/2014 03:33 PM .
01/12/2014 03:33 PM ..
01/12/2014 12:02 PM 391 DBD-DB2.ppd
01/12/2014 03:33 PM x86
C:\DBD> dir x86
Volume in drive C is SYS
Volume Serial Number is 1223-34B3
Directory of C:\DBD
01/12/2014 03:33 PM .
01/12/2014 03:33 PM ..
01/12/2014 02:37 PM 100,859 DBD-DB2.tar.gz
3.打开ppd文件并编辑CODEBASE HREF到package.tar.gz的路径
<SOFTPKG NAME="DBD-DB2" VERSION="1,7,1,0">
<TITLE>DBD-DB2</TITLE>
<ABSTRACT>Perl driver for IBM DB2 Universal Database</ABSTRACT>
<AUTHOR>DB2 Perl (db2perl@ca.ibm.com)</AUTHOR>
<IMPLEMENTATION>
<OS NAME="MSWin32" />
<ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.8" />
<CODEBASE HREF="x86\DBD-DB2.tar.gz" />
</IMPLEMENTATION>
</SOFTPKG>
注意: CODEBASE HREF 应该有 ppd 文件所在目录的 tar ball 路径。
4. 使用 ppm repo add 添加本地仓库
C:\>ppm repo add repositoryname Fullpath
C:\>ppm repo add Local C:\DBD
5. 使用 ppm repo 验证添加的存储库
C:\DBD>ppm repo
Repositories
[1] Local
[ ] ActiveState Package Repository
6. 问题已解决:现在 ppm install 它将顺利通过
C:\DBD>ppm install DBD-DB2.ppd
=======================
Install 'DBD-DB2' version 1.7.1 in ActivePerl 5.8.0.806
=======================
Installing C:\Perl\site\lib\auto\DBD\DB2\DB2.bs
Installing C:\Perl\site\lib\auto\DBD\DB2\DB2.dll
Installing C:\Perl\site\lib\auto\DBD\DB2\Constants\Constants.bs
Installing C:\Perl\site\lib\auto\DBD\DB2\Constants\Constants.dll
Installing C:\Perl\site\lib\auto\DBD\DB2\Constants\Constants.dll
Installing C:\Perl\html\site\lib\DBD\DB2.html
Installing C:\Perl\html\site\lib\Bundle\DBD\DB2.html
Installing C:\Perl\site\lib\DBD\DB2.pm
Installing C:\Perl\site\lib\DBD\DB2.pod
Installing C:\Perl\site\lib\DBD\DB2\Constants.pm
Installing C:\Perl\site\lib\Bundle\DBD\DB2.pl
Installing C:\Perl\site\lib\auto\DBD\DB2\Constants\autosplit.ix
Successfully installed DBD-DB2 version 1.7.1 in ActivePerl 5.8.0.806
即使正确执行上述所有步骤后,如果您仍然收到相同的错误“错误:未找到适合的安装目标包”。检查您尝试安装的模块版本和 perl 版本。要查看有关您要安装的模块的详细信息(版本),请使用 ppm desc ie describe。
C:\DBD>ppm desc DBD-DB2
========================
Name : DBD-DB2
Version : 1.7.1
Author: DB2 Perl >db2perl@ca.ibm.com>
Title: DBD-DB2
Abstract: Perl driver for IBM DB2 Universal Database
Location: local
Available Platforms:
1. MSWin32-x86-multi-thread-5.8
使用 perl -v 查看 perl 的版本。
C:\DBD>perl -v
This is perl, V5.8.0 built for MSWin32-x86-multi-thread
您尝试安装的模块版本应该为您的 perl 版本构建。在上面的例子中模块的描述显示“Available Platforms: MSWin32-x86-multi-thread-5.8”是指它是为5.8构建的。如果此版本号不匹配,您将收到此错误,那么您应该下载正确版本的模块。
- 点赞
- 收藏
- 关注作者
评论(0)