2013-05-31 21 views
33

Sto cercando di convincere il compositore a scaricare la seguente libreria da questo progetto, tuttavia non contiene un file composer.json, quindi non sono sicuro che sia possibile.Come si ottiene il compositore per installare un pacchetto non-compositore?

{ 
    "require" : { 
     "fguillot/picoFeed" : "*" 
    }, 
    "repositories": [ 
     { 
      "type": "vcs", 
      "url": "https://github.com/fguillot/picoFeed" 
     } 
    ] 
} 

Errore:

[Composer\Repository\InvalidRepositoryException]
No valid composer.json was found in any branch or tag of https://github.com/fguillot/picoFeed , could not load a package from it.

risposta

63

Per includere un repository non compositore è necessario impostare un package repository. Che darebbe qualcosa di simile:

{ 
    "repositories": [ 
     { 
      "type": "package", 
      "package": { 
       "name": "fguillot/picoFeed", 
       "version": "dev-master", 
       "source": { 
        "url": "https://github.com/fguillot/picoFeed", 
        "type": "git", 
        "reference": "origin/master" 
       } 
      } 
     } 
    ], 
    "require": { 
     "fguillot/picoFeed": "dev-master" 
    } 
} 
+2

È possibile modificare il percorso di installazione per tale "pacchetto"? –

+0

Hai provato a cambiare il nome del pacchetto? – George

0

In aggiunta alla risposta da @George, per quanto riguarda la comment da @DavidOliver, ecco come si dovrebbe essere in grado di modificare il pacchetto di installazione di destinazione:

"repositories" : [ 
    { 
     "type" : "package", 
     "package" : { 
      "name" : "vend0r/p4ckage", 
      "version" : "dev-master", 
      "type" : "foo-library", 
      "dist" : { 
       "url" : "https://github.com/vend0r/p4ckage.git", 
       "type" : "vend0r/p4ckage" 
      }, 
      "source" : { 
       "url"  : "https://github.com/vend0r/p4ckage.git", 
       "type"  : "git", 
       "reference" : "origin/master" 
      } 
     } 
    } 
] 
... 
"extra" : { 
    "installer-paths" : { 
     "libraries/footype" : [ 
      "type:foo-library" 
     ], 
    } 
} 
... 
"require" : { 
    "vend0r/p4ckage" : "dev-master" 
} 
+0

Mi sono imbattuto in questo aspetto su come installare un repository non-compositore su un percorso personalizzato; si scopre che non può essere fatto richiedendo solo 'compositore/installatore': http://stackoverflow.com/a/20442240/1065925. C'è anche una soluzione con 'oomphinc/compositer-installers-extender' sulla stessa pagina. – kufeiko

Problemi correlati