Domanda: Come posso correggere il messaggio di errore "Errore:nessuna destinazione di installazione adatta trovata per il pacchetto" che ho ricevuto durante l'installazione di un modulo perl utilizzando l'installazione di ppm?
Risposta: Quando siamo dietro il firewall, opteremmo per "ppm tramite repository locale" per installare i moduli perl, che è il modo più semplice. Quando si installa il modulo perl utilizzando il repository locale ppm, ci si imbatte spesso nell'errore "Errore:nessuna destinazione di installazione adatta trovata per il pacchetto" come mostrato di seguito.
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
In questo articolo, esaminiamo come correggere "Errore:nessuna destinazione di installazione adatta trovata per il pacchetto DBD-DB2" durante l'installazione di qualsiasi pacchetto perl.
Le istruzioni seguenti spiegano come risolvere questo problema sulla piattaforma Windows. Tuttavia, puoi seguire passaggi simili su Linux per risolvere lo stesso problema.
Soluzione per correggere l'errore:nessuna destinazione di installazione adatta trovata per il pacchetto
1. Scarica il file ppd e il pacchetto
Scarica i seguenti file PPD e pacchetto
- http://theoryx5.uwinnipeg.ca/ppms/DBD-DB2.ppd
- http://theoryx5.uwinnipeg.ca/ppms/DBD-DB2.tar.gz
Nota: Assicurati di sostituire DBD-DB2 con il nome del pacchetto corrispondente.
2. Crea una directory per conservare i download
Crea una directory DBD per memorizzare il file ppd scaricato.
C:\> mkdir DBD
Crea la directory X86 per conservare il file tar scaricato.
C:\DBD>mkdir x86
Ora dovrebbe essere simile a :
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. Apri il file ppd e modifica il CODEBASE HREF nel percorso di 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>
Nota: CODEBASE HREF dovrebbe avere il percorso di tar ball dalla directory in cui si trova il file ppd.
4. Aggiungi il repository locale utilizzando ppm repo add
C:\>ppm repo add repositoryname Fullpath C:\>ppm repo add Local C:\DBD
5. Verifica il repository aggiunto utilizzando il repository ppm
C:\DBD>ppm repo Repositories [1] Local [ ] ActiveState Package Repository
6. Problema risolto:ora l'installazione di ppm andrà a buon fine
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
Anche dopo aver eseguito correttamente tutti i passaggi precedenti, se viene ancora visualizzato lo stesso errore "Errore:nessuna destinazione di installazione adatta trovata per il pacchetto". Controlla la versione del modulo che stai tentando di installare e la versione di perl. Per vedere i dettagli (versione) sul modulo che stai per installare, usa ppm desc cioè descrivi.
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
Usa perl -v per vedere la versione di perl.
C:\DBD>perl -v This is perl, V5.8.0 built for MSWin32-x86-multi-thread
La versione del modulo che stai tentando di installare dovrebbe avere build per la tua versione di perl. Nell'esempio sopra nella descrizione del modulo mostra che "Piattaforme disponibili:MSWin32-x86-multi-thread-5.8" fa riferimento al fatto che è stato creato per 5.8. Se questo numero di versione non corrisponde, riceverai questo errore, quindi dovresti scaricare la versione corretta del modulo.