Comment publier un package et l'installer avec composer php
-
21-12-2019 - |
Question
J'ai jusqu'à présent pu publier mon package sur packagist.Depuis mon référentiel, http://github.com/pbalan/directory-parser
J'ai suivi Comment créer une bibliothèque à utiliser par le chargement automatique du compositeur ?
Lorsque j'essaie d'installer la même chose à l'aide de Composer, je n'y parviens pas.Le compositeur échoue en disant :
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
Voici mon compositeur que j'ai dans mon dépôt 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"
}
}
Et j'essaie d'installer dans un nouveau répertoire en utilisant ce composer.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"
}
}
J'ai modifié mon composer.json maintenant à un point où je n'ai aucune erreur, mais je ne parviens pas à installer le package et simplement à installer les fichiers du chargeur automatique.
Comment puis-je installer mon package ?S'il vous plaît, aidez-moi !
La solution
Le problème est probablement que vous réutilisez le nom de votre package dans le second composer.json
.
Utilisez-le simplement comme composer.json
pour votre répertoire vide :
{
"require": {
"php": ">=5.3.3",
"pbalan/directory-parser": "dev-master"
}
}
C'est tout!Vous n'avez pas besoin de toutes les informations supplémentaires telles que le nom, la description, etc.sauf si vous créez une autre bibliothèque qui devrait également être disponible sur Packagist.