Comment demander une fourchette avec un compositeur

voici mon composer.json, je veux utiliser le projet fork of lessphp de Nodge sur Github

"repositories": [{ "type": "package", "package": { "version": "dev-master", "name": "nodge/lessphp", "source": { "url": "https://github.com/Nodge/lessphp.git", "type": "git", "reference": "master" }, "autoload": { "classmap": ["lessc.inc.php"] } } }], "require": { "php": ">=5.3.3", "nodge/lessphp": "dev-master" }, 

Mais j’ai cette erreur quand je fais la mise à jour:

nodge / lessphp dev-master -> aucun paquet correspondant trouvé.

Je ne sais pas comment l’exiger correctement cette fourchette …

Aucune suggestion ?

    La méthode la plus courante (et la plus simple) consiste à utiliser un référentiel VCS.

    Tout ce que vous avez à faire est d’append votre fork en tant que référentiel et de mettre à jour la contrainte de version pour qu’elle pointe vers votre twig personnalisée. Votre nom de twig personnalisé doit être précédé de dev- .

    Exemple en supposant que vous avez patché monolog pour corriger un bogue dans la twig bugfix:

     { "repositories": [ { "type": "vcs", "url": "https://github.com/igorw/monolog" } ], "require": { "monolog/monolog": "dev-bugfix" } } 

    Notez que vous ne modifiez pas l’instruction require sauf pour spécifier votre twig de correction de bogue. Vous monolog/monolog toujours référence au paquet amont ( monolog/monolog ), pas à votre fork personnel ( igorw/monolog ). Vous pouvez lire les détails dans les docs

    Utiliser VCS fonctionne:

     "name": "test/test", "repositories": [{ "type": "vcs", "url": "http://github.com/Nodge/lessphp" }], "require": { "leafo/lessphp": "dev-master" }, 

    Mais si j’ai besoin d’un module qui a ce composer.json , cela ne fonctionne pas. Il installe le projet original, pas la fourchette.

    Exemple

     "name": "example/example", "require": { "test/test": "dev-master" }, 

    Je devrais mentionner à nouveau le référentiel. Est-ce normal?

    Si vous ne pouvez pas obtenir de réponse @Neilime pour vous, assurez-vous que votre fork utilise une twig différente.

    Par exemple, poussez vos modifications sur une twig de votre fork appelée my-bugfix . dev- préfixe de dev- dans le nom de votre twig mais dans votre composer.json, vous devez l’append. Votre fichier de composition ressemblera à:

     "repositories": [ { "type": "vcs", "url": "http://github.com/yourname/packageName" } ], "require": { "owner/packageName": "dev-my-bugfix" }, 

    Selon la documentation de Composer http://getcomposer.org/doc/05-repositories.md#vcs , il suffit de spécifier le repository d’origine (pas le fork) dans le require (“nodge / lessphp” dans votre cas). Composer installera alors VOTRE fourche (regardez le code dans les fournisseurs)

    J’ajoute généralement un noeud “dist” à la définition du package. Je n’ai jamais eu de problème pour l’utiliser de cette façon.

    Je ne me souviens pas de l’endroit où j’ai eu cette astuce, cependant, pour d’autres explications.

     { "repositories": [ { "type": "package", "package": { "version": "dev-master", "name": "nodge/lessphp", "source": { "url": "https://github.com/Nodge/lessphp.git", "type": "git", "reference": "master" }, "autoload": { "classmap": ["lessc.inc.php"] }, "dist": { "url": "https://github.com/Nodge/lessphp/archive/master.zip", "type": "zip" } } } ], "require": { "nodge/lessphp": "*" } } 

    J’ai essayé de nombreuses options, mais après avoir reçu ce message, j’ai vu la lumière et cela fonctionnait parfaitement.

    C’est ce que vous devez faire:

    1- Fourchette de stockage

    2- Créez une twig et apportez les modifications nécessaires.

    3- Ajouter l’étiquette du référentiel à votre composer.json

     "repositories": [ { "type": "vcs", "url": "https://github.com/user/yourforkname" } ] 

    4- Dans la ligne de commande de votre projet, vous avez besoin de votre fourchette comme ceci:

     composer require vendor/packagename:dev-branchname 

    Et Voilá !!

    Votre version de fourche fonctionne