web-dev-qa-db-fra.com

Comment obtenez-vous composeur pour installer un paquet non-compositeur?

J'essaie d'amener le compositeur à télécharger la bibliothèque suivante à partir de ce projet. Cependant, il ne contient pas de fichier composer.json et je ne suis donc pas sûr que cela soit possible.

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

Erreur:

[Composer\Repository\InvalidRepositoryException]
Aucun composeur.json valide n'a été trouvé dans une branche ou une étiquette de https://github.com/fguillot/picoFeed , impossible de charger un package à partir de celle-ci.

34
Xeoncross

Pour inclure un référentiel non-compositeur, vous devez configurer un référentiel package . Ce qui vous donnerait quelque chose comme:

{
    "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"
    }
}
68
George

En complément de la réponse de @George concernant le commentaire de @DavidOliver, voici comment devrait pouvoir modifier la cible d'installation du package:

"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
kaiser