Otázka: Jak opravím chybovou zprávu „Chyba:pro balíček nebyl nalezen vhodný cíl instalace“, kterou jsem obdržel při instalaci modulu perl pomocí instalace ppm?
Odpověď: Když jsme za firewallem, rozhodli bychom se pro instalaci modulů perl pro „ppm přes místní úložiště“, což je nejjednodušší způsob. Při instalaci modulu perl pomocí místního úložiště ppm se často setkáváme s chybou „Chyba:pro balíček nebyl nalezen vhodný cíl instalace“, jak je uvedeno níže.
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
V tomto článku se podíváme, jak opravit „Chyba:pro balíček DBD-DB2 nebyl nalezen vhodný cíl instalace“ při instalaci jakýchkoli perlových balíčků.
Níže uvedené pokyny vysvětlují, jak tento problém vyřešit na platformě Windows. Stejný problém však můžete vyřešit pomocí podobných kroků v systému Linux.
Řešení pro opravu chyby:pro balíček nebyl nalezen vhodný cíl instalace
1. Stáhněte si soubor ppd a balíček
Stáhněte si následující soubory PPD a balíčky
- http://theoryx5.uwinnipeg.ca/ppms/DBD-DB2.ppd
- http://theoryx5.uwinnipeg.ca/ppms/DBD-DB2.tar.gz
Poznámka: Ujistěte se, že jste nahradili DBD-DB2 odpovídajícím názvem balíčku.
2. Vytvořte adresář pro uchování stahování
Vytvořte adresář DBD pro uložení staženého souboru ppd.
C:\> mkdir DBD
Vytvořte adresář X86 pro zachování stažený soubor tar.
C:\DBD>mkdir x86
Nyní by to mělo vypadat takto:
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. Otevřete soubor ppd a upravte CODEBASE HREF na cestu 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>
Poznámka: CODEBASE HREF by měl mít cestu tar ball z adresáře, kde je umístěn soubor ppd.
4. Přidejte místní úložiště pomocí ppm repo add
C:\>ppm repo add repositoryname Fullpath C:\>ppm repo add Local C:\DBD
5. Ověřte přidané úložiště pomocí ppm repo
C:\DBD>ppm repo Repositories [1] Local [ ] ActiveState Package Repository
6. Problém vyřešen:Nyní instalace ppm proběhne v pořádku
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
I po správném provedení všech výše uvedených kroků se stále zobrazuje stejná chyba „Chyba:pro balíček nebyl nalezen vhodný cíl instalace“. Zkontrolujte verzi modulu, který se pokoušíte nainstalovat, a verzi perlu. Chcete-li zobrazit podrobnosti (verze) o modulu, který se chystáte instalovat, použijte ppm desc, tj. popis.
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
Použijte perl -v k zobrazení verze perlu.
C:\DBD>perl -v This is perl, V5.8.0 built for MSWin32-x86-multi-thread
Verze modulu, který se pokoušíte nainstalovat, by měla mít sestavení pro vaši verzi perlu. Ve výše uvedeném příkladu v popisu modulu je uvedeno, že „Dostupné platformy:MSWin32-x86-multi-thread-5.8“ znamená, že je vytvořen pro 5.8. Pokud se toto číslo verze neshoduje, zobrazí se tato chyba, měli byste si stáhnout správnou verzi modulu.