Cómo publicar el paquete e instalar con Composer PHP
-
21-12-2019 - |
Pregunta
Hasta ahora he podido publicar mi paquete en Packagist. Desde mi repositorio, http://github.com/pbalan/directory-parser
seguí Cómo crear una biblioteca¿Para ser utilizado por AutoLoading compositor?
Cuando intento instalar el mismo uso del compositor, no puedo hacerlo. El compositor falla diciendo:
Loading composer repositories with package information
Reading composer.json of pbalan/directory-parser (0.0.1)
Importing tag 0.0.1 (0.0.1.0)
Reading composer.json of pbalan/directory-parser (master)
Importing branch master (dev-master)
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- The requested package pbalan/directory-parser 1.0.0 could not be found.
Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setting
Aquí está mi compositor que tengo en mi repositorio de GitHub:
{
"name" : "pbalan/directory-parser",
"description" : "DirectoryParser",
"license": "MIT",
"keywords" : ["DirectoryParser"],
"homepage" : "https://github.com/pbalan/directory-parser",
"authors" : [
{
"name" : "prashant"
}
],
"autoload" : {
"psr-0" : {"src" : ""}
},
"require" : {
"php": ">=5.3.3"
}
}
y estoy tratando de instalar en un directorio fresco usando este composit.json:
{
"name" : "pbalan/directory-parser",
"description" : "DirectoryParser",
"license": "MIT",
"keywords" : ["DirectoryParser"],
"homepage" : "https://github.com/pbalan/directory-parser",
"authors" : [
{
"name" : "prashant"
}
],
"repositories": [
{
"type": "vcs",
"url": "http://github.com/pbalan/directory-parser.git"
}
],
"require" : {
"php": ">=5.3.3",
"pbalan/directory-parser": "dev-master"
}
}
Cambié mi compositor.json ahora a un punto en el que no tengo errores, sin embargo, no puedo instalar el paquete y simplemente instalar archivos de autocargador.
¿Cómo podría instalar mi paquete? Por favor ayuda!
Solución
El problema es probablemente que esté reutilizado el nombre de su paquete en el segundo composer.json
.
Simplemente use esto como el composer.json
para su directorio vacío:
{
"require": {
"php": ">=5.3.3",
"pbalan/directory-parser": "dev-master"
}
}
¡Eso es todo!No necesita toda la información adicional, como el nombre, la descripción, etc., a menos que esté creando otra biblioteca que debe estar disponible en Packagist también.