Come faccio a utilizzare il Compositore per installare un pacchetto, senza una versione (solo master)

Sono nuovo di compositore e sto cercando di installare questa lib tramite il compositore aggiornamento

https://github.com/neitanod/forceutf8

così come ho capito il mio compositore.json simile a questo

{
    "config": {
        "vendor-dir": "libs/vendor"
    },
    "require": {
        "raven/raven": "0.7.1",
        "monolog/monolog": "1.7.*",
        "smarty/smarty": "3.1.16",
        "forceutf8/forceutf8": "master"
    }
}

Bt per qualche motivo (come penso forceutf8 non ha version) – la sua ferma con l’errore, tutto il resto è installato correttamente, l’errore che ottengo è

Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - The requested package forceutf8/forceutf8 could not be found in any version, there may be a typo in the package na
me.

Potential causes:
 - A typo in the package name
 - The package is not available in a stable-enough version according to your minimum-stability setting
   see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details.

Read <http://getcomposer.org/doc/articles/troubleshooting.md> for further common problems. 

ho provato a seguire anche in versione ma senza fortuna ancora

{
    "config": {
        "vendor-dir": "libs/vendor"
    },
    "name": "career/skillquest",
    "repositories": [
      {
        "type": "vcs",
        "url": "https://github.com/neitanod/forceutf8"
      }
    ],
    "require": 
      {
        "forceutf8/forceutf8": "dev-master",
        "raven/raven": "0.7.1",
        "monolog/monolog": "1.7.*",
        "smarty/smarty": "3.1.16"
      }
}

Problema è che deve essere

"neitanod/forceutf8": "dev-master"

NON

"forceutf8/forceutf8": "master"
InformationsquelleAutor mahen3d | 2014-02-11

 

4 Replies
  1. 19

    In compositore.json:

    {
        "name": "example/example-app",
        "repositories": [
          {
            "type": "vcs",
            "url": "https://github.com/neitanod/forceutf8"
          }
        ],
        "require": 
          {
            "neitanod/forceutf8": "dev-master",
            "raven/raven": "0.7.1",
            "monolog/monolog": "1.7.*",
            "smarty/smarty": "3.1.16"
          }
    }
    
    • puoi pls aggiungere l’intero file json con altri pacchetti, ho provato ad aggiungere questo, ma non è riuscito a ottenere il tipo di file desiderato
    • modificato risposta.
    • E dove è il forceutf8 software?
    • Scusate, mi sono dimenticato di aggiungere ‘forceutf8’ nel bisogno. Fisso
    • provato, ma ancora non funzionava, ho un Problema 1 – Il pacchetto richiesto forceutf8/forceutf8 non può essere trovato in qualsiasi versione, ci può essere un errore di battitura nel pacchetto na mi.
    • in richiedono scrivere “neitanod/forceutf8” : “dev-master” invece che “forceutf8/forceutf8”: “dev-master”
    • capito grazie funziona

  2. 20

    Prima di tutto, non hai sbagliato nome: forceutf8/forceutf8 nome Corretto è: neitanod/forceutf8

    Compositore aggiunge il prefisso “dev-” per ogni ramo nome che non ha l’aspetto di un numero di versione, e da un suffisso “-dev” per i nomi dei rami che sembrano i numeri di versione.

    Esempio: Ramo “master” è chiamato “dev-master” ramo “feature” è chiamato “dev-funzione”. Ramo “1.0.x” è chiamato “1.0.x-dev”.

    Quindi questa parte è sbagliato:

    "require": {
        "raven/raven": "0.7.1",
        "monolog/monolog": "1.7.*",
        "smarty/smarty": "3.1.16",
        "forceutf8/forceutf8": "master"
    }
    

    Versione corretta sarebbe:

    "require": {
        "raven/raven": "0.7.1",
        "monolog/monolog": "1.7.*",
        "smarty/smarty": "3.1.16",
        "neitanod/forceutf8": "dev-master"
    }
    

    Ora che necessitano di rami senza tagged versioni non è la cosa migliore, perché queste informazioni è molto instabile – qualsiasi nuovo commit può rompere le cose, e non è facile puntare esattamente il commit si desidera utilizzare. Per proteggere l’utente da questo, Compositore di default non caricare questi ramo di sviluppo, ma di caricare solo le versioni stabili. Devi abilitare il caricamento di sviluppo versioni:

    "require": {
        "raven/raven": "0.7.1",
        "monolog/monolog": "1.7.*",
        "smarty/smarty": "3.1.16",
        "neitanod/forceutf8": "[email protected]"
    }
    

    La “@dev” flag permette di caricare le versioni di sviluppo della versione menzionata (che in questo caso si tratta di un ramo, ma “[email protected]” avrebbe funzionato allo stesso modo, consentendo a tutti (compresi i dev) versioni di 1.0.0, come “1.0.0-alpha”, ma anche la stalla “1.0.0”).

    Si noti che è anche possibile consentire versione di sviluppo per TUTTE le dipendenze tramite “minimo di stabilità”, ma questo non è raccomandato, a causa di caricare le versioni di sviluppo per TUTTO secondo i requisiti della versione. Nel tuo caso, si dovrebbe scaricare l’ultima versione dev di monolog di 1,7 ramo solo, ma questo potrebbe essere sufficiente per portare una volta di software stabile in stato infranto.

    • ma questo doenst riconoscere il git url ?
    • Presumo che il pacchetto è registrato su packagist.org, ma al momento il sito sembra down. Così non avrete più fortuna di aggiornamento alcunché.
    • Grazie, tanto per spiegare che: “il Compositore aggiunge il prefisso “dev-” per ogni ramo nome che non ha l’aspetto di un numero di versione, e da un suffisso “-dev” per i nomi dei rami che sembrano i numeri di versione.’ Io disprezzo questa sintassi del Compositore.
    • Una bella risposta, @Sven!

Lascia un commento