Come pubblicare il pacchetto e l'installazione con il compositore PHP
-
21-12-2019 - |
Domanda
Sono stato finora in grado di pubblicare il mio pacco sul packagist. Dal mio repository, http://github.com/pbalan/directory-parser Ho seguito Come creare una libreriaDa utilizzare da Compositore Autoloading?
Quando provo ad installare lo stesso usando compositore, non sono in grado di farlo. Il compositore non riesce a dire:
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
.
Ecco il mio compositore che ho nel mio repository 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"
}
}
.
E sto cercando di installare in una nuova directory usando questo compositore.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"
}
}
.
Ho cambiato il mio compositore.json ora in un punto in cui non ho errori, tuttavia non sono in grado di installare il pacco e installare i file AutoLoader.
Come ho potuto installare il mio pacco? Per favore aiuto!
Soluzione
Il problema è probabilmente di riutilizzare il nome del tuo pacco nel secondo composer.json
.
Basta usare questo come composer.json
per la tua directory vuota:
{
"require": {
"php": ">=5.3.3",
"pbalan/directory-parser": "dev-master"
}
}
.
È tutto!Non hai bisogno di tutte le informazioni extra come nome, descrizione ecc. A meno che tu non stia creando un'altra libreria che dovrebbe essere disponibile anche su Packagist.