Come richiedere una forchetta con il compositore

qui è il mio compositore.json, voglio usare Nodge forcella di lessphp progetto su 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"
},

Ma ho questo errore quando faccio aggiornamento :

nodge/lessphp dev-master -> nessun pacchetto trovato.

Non so come richiedere correttamente questa forcella…

Qualche suggerimento ?

InformationsquelleAutor Neilime | 2012-11-21



6 Replies
  1. 175

    Il più comune (e più facile) modo di farlo è utilizzando un repository VCS.

    Tutto quello che dovete fare è aggiungere la forchetta come un repository di aggiornamento e la
    versione vincolo a scegliere il vostro personalizzato ramo. Personalizzato ramo
    nome deve essere preceduto dev-.

    Esempio supponendo che hai patchato monolog per correggere un bug nel bug ramo:

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

    Nota che non si cambia l’istruzione require tranne per specificare il bugfix ramo. È ancora fare riferimento al pacchetto originale (monolog/monolog), non personali forcella (igorw/monolog). Potete leggere i dettagli nei documenti

    • Questo non sembra funzionare per github.com/Polycademy/purl, che è un fork di github.com/jwage/purl ho cercato per: “repository”: [ { “type”: “vcs”, “url”: “[email protected]:Polycademy/purl.git” } ], e “richiedono”: { “jwade/purl”: “dev-master”, }, Ma continuo a ricevere: Problema 1 – Il pacchetto richiesto jwade/purl non può essere trovato in qualsiasi versione, ci può essere un errore di battitura nel nome del pacchetto.
    • provare a eseguire composer show jwade/purl -v si dovrebbe dire perché ha ignorato il dev-versione master, se lo fa.
    • Si deve avere il diritto di github subversion url cliccando onu “Sovversione” presso la repo di campo url.
    • mi hai salvato! grazie! ( La mia forcella è stato chiamato dev-dev-.. ) non conoscevo la denominazione è stata automaticamente.
    • compositore mostra è la chiave per trovare il nome del ramo! grazie @Seldaek
    • “Leggere i documenti” è una cattiva risposta, una risposta migliore sarebbe quello di dare un esempio concreto
    • Bello in guardia circa, non che fa riferimento al personale della forcella. Questa salvato la mia giornata, +1
    • Il nome del marchio non ha bisogno di aggiungere dev- alla fine si avrà duplicato dev-dev – quando si richiedono compositore.file json. Questo è il motivo per cui il nostro ramo master quando è richiesto compositore.json, si sono aggiunte come dev-master
    • questo non funziona per me, e purtroppo sto usando il lavoro di qualcun altro, così non riesco a rinominare il proprio ramo (e io sono troppo pigro per forcella forcella.. solo dicendo che rende la mia mascella male).. dettagli qui
    • Qualche modo a non bisogno di un GitHub token OAuth per questa soluzione? Sto cercando questa soluzione, ma mi chiede un token OAuth di andare oltre le API limite di velocità. Non voglio che in ogni ambiente di distribuire.
    • A quanto pare, il nome del pacchetto da utilizzare nel require voce deve essere quello definito nel name voce della forcella composer.json file. Forcella autori possono scegliere di modificare o mantenere l’identificatore.
    • grazie @ÁlvaroGonzález stavo lottando come l’autore originale ha cambiato il suo nome, ma nel compositore.json è il nome originale ..

  2. 39

    Utilizzando VCS opere:

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

    Ma se ho bisogno di un modulo che ha questo composer.json, non funziona. Installa il progetto originale, non la forcella.

    Esempio

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

    Dovrei parlare di nuovo repository. È normale?

    • anche qui stesso problema
    • Stesso qui! Da che cosa dipende?
    • Eliminare manualmente il modulo tramite “rm -rf” e poi “compositore di aggiornamento”. Che ha funzionato per me.
    • Ho usato una dozzina di forks, e questo non ha mai funzionato. Ecco una soluzione di lavoro: stackoverflow.com/a/27970559/183904
    • Ho appena usato questo metodo e ha funzionato come un fascino… documenti sono abbastanza chiare, dovrete solo ricordare di mettere il dev- prefisso personalizzato nome del ramo quando richiedono il pacchetto in questione.
    • Ha funzionato per me… ma voglio ricordare che io ho dovuto usare https:// per l’URL.
    • Ho risolto il problema “etichettare” una nuova versione sulla mia forcella, cioè dall’1.1.0 per 1.2.0 – e che mi ha permesso di risolvere il problema

  3. 25

    Se non è possibile ottenere @Neilime risposta a lavorare per voi, assicurarsi che la forcella utilizza un ramo diverso.

    Per esempio spingere le modifiche apportate a un ramo sulla forcella chiamato my-bugfix, non aggiunto dev- prefisso, nome dell’agenzia, ma nel tuo compositore.json è necessario aggiungerlo. Il compositore avrà questo aspetto:

    "repositories":
    [
        {
            "type": "vcs",
            "url": "http://github.com/yourname/packageName"
        }
    ],
    "require": {
        "owner/packageName": "dev-my-bugfix"
    },
    
    • Questo è ingegnoso e chiara spiegazione per me ! Grazie !
    • ma che cosa se è qualcuno altro forcella? Vedere l’esempio qui
    • Inoltre, name campo a forcella repository composer.json file dovrebbe rimanere lo stesso con il proprietario originale.
  4. 3

    Ho provato molte opzioni, ma Dopo che ho ottenuto questo post ho visto la luce e ha funzionato perfettamente.

    Questo è ciò che devi fare:

    1 – Forcella de repository

    2 – Creare un ramo e apportare le modifiche necessarie.

    3 – Aggiungere il repository etichetta al compositore.json

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

    4 – la riga di comando all’interno del vostro progetto richiede la vostra forchetta come questo:

    composer require vendor/packagename:dev-branchname
    

    E Voilá!!

    Hai la forcella della versione

  5. 2

    Io di solito aggiungo un “dist” nodo alla definizione del pacchetto.
    Non ho mai avuto un problema con esso in questo modo.

    Non ricordo dove ho preso questo trucco, ma, per ogni ulteriore chiarimento.

    {
        "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": "*"
        }
    }
    

Lascia un commento