質問: ppm install を使用して perl モジュールをインストールするときに表示された「エラー:パッケージに適したインストール ターゲットが見つかりません」というエラー メッセージを修正するにはどうすればよいですか?
回答: ファイアウォールの背後にいる場合、「ローカル リポジトリ経由の ppm」を選択して 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.ダウンロードを保存するディレクトリを作成
ダウンロードした ppd ファイルを保存する DBD ディレクトリを作成します。
C:\> mkdir DBD
ダウンロードした tar ファイルを保持する X86 ディレクトリを作成します。
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/2009 03:33 PM . 01/12/2009 03:33 PM .. 01/12/2009 12:02 PM 391 DBD-DB2.ppd 01/12/2009 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/2009 03:33 PM . 01/12/2009 03:33 PM .. 01/12/2009 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 ([email protected])</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 ボールのパスが必要です。
4. ppm repo add を使用してローカル リポジトリを追加します
C:\>ppm repo add repositoryname Fullpath C:\>ppm repo add Local C:\DBD
5. ppm リポジトリを使用して追加されたリポジトリを確認します
C:\DBD>ppm repo Repositories [1] Local [ ] ActiveState Package Repository
6.問題が解決しました:ppm インストールで問題なく動作するようになりました
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、つまり describe を使用します。
C:\DBD>ppm desc DBD-DB2 ======================== Name : DBD-DB2 Version : 1.7.1 Author: DB2 Perl >[email protected]> 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 バージョン用にビルドされている必要があります。上記のモジュールの説明の例では、「利用可能なプラットフォーム:MSWin32-x86-multi-thread-5.8」は、5.8 用にビルドされていることを示しています。このバージョン番号が一致しない場合、このエラーが発生します。正しいバージョンのモジュールをダウンロードする必要があります。