Pregunta: ¿Cómo soluciono el mensaje de error "Error:no se encontró un destino de instalación adecuado para el paquete" que recibí al instalar un módulo de Perl mediante la instalación de ppm?
Respuesta: Cuando estamos detrás de un firewall, optaríamos por 'ppm a través del repositorio local' para instalar módulos perl, que es la forma más fácil. Al instalar el módulo perl usando el repositorio local de ppm, a menudo nos encontramos con el error "Error:no se encontró un destino de instalación adecuado para el paquete", como se muestra a continuación.
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
En este artículo, revisemos cómo solucionar el "Error:no se encontró un destino de instalación adecuado para el paquete DBD-DB2" al instalar cualquier paquete de Perl.
Las instrucciones a continuación explican cómo solucionar este problema en la plataforma Windows. Pero puede seguir pasos similares en Linux para solucionar el mismo problema.
Solución para corregir el error:no se encontró un destino de instalación adecuado para el paquete
1. Descargue el archivo ppd y el paquete
Descargue los siguientes archivos PPD y de paquete
- http://theoryx5.uwinnipeg.ca/ppms/DBD-DB2.ppd
- http://theoryx5.uwinnipeg.ca/ppms/DBD-DB2.tar.gz
2. Crea un Directorio para guardar las descargas
Cree un directorio DBD para almacenar el archivo ppd descargado.
C:\> mkdir DBD
Cree un directorio X86 para mantener el archivo tar descargado.
C:\DBD>mkdir x86
Ahora debería verse como:
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. Abra el archivo ppd y edite CODEBASE HREF en la ruta del paquete.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 debe tener la ruta de tar ball desde el directorio donde se encuentra el archivo ppd.
4. Agregue el repositorio local usando ppm repo add
C:\>ppm repo add repositoryname Fullpath C:\>ppm repo add Local C:\DBD
5. Verifique el repositorio agregado usando ppm repo
C:\DBD>ppm repo Repositories [1] Local [ ] ActiveState Package Repository
6. Problema resuelto:ahora la instalación de ppm funcionará bien
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
Incluso después de seguir correctamente todos los pasos anteriores, si sigue recibiendo el mismo error "Error:no se encontró un destino de instalación adecuado para el paquete". Compruebe la versión del módulo que está intentando instalar y la versión de perl. Para ver los detalles (versión) sobre el módulo que va a instalar, use ppm desc, es decir, describa.
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
Utilice perl -v para ver la versión de perl.
C:\DBD>perl -v This is perl, V5.8.0 built for MSWin32-x86-multi-thread
La versión del módulo que está tratando de instalar debe estar compilada para su versión de Perl. En el ejemplo anterior, en la descripción del módulo, se muestra que "Plataformas disponibles:MSWin32-x86-multi-thread-5.8" se refiere a que está construido para 5.8. Si este número de versión no coincide, obtendrá este error, entonces debe descargar la versión correcta del módulo.