El composer.json
fichier liste les dépendances. Dans votre exemple :
"require": {
"php": ">=5.5.0",
"guzzlehttp/guzzle": "^6.0",
"psr/http-message": "^1.0",
"psr/log": "^1.0"
},
Vous devez ensuite trouver les paquets correspondants dans le emballeur site. Répétez le même processus pour chaque dépendance : trouvez des dépendances supplémentaires dans leurs sites correspondants. composer.json
et cherchez à nouveau.
Lorsque vous avez enfin la liste complète des paquets requis, il ne vous reste plus qu'à les installer un par un. Dans la plupart des cas, il suffit de déposer les fichiers quelque part dans le répertoire de votre projet. Mais vous devez également vous assurer que PHP peut trouver les classes nécessaires. Comme vous n'utilisez pas le chargeur automatique de Composer, vous devez les ajouter à votre propre chargeur automatique. Vous pouvez trouver l'information dans les fichiers composer.json
des fichiers, par exemple :
"autoload": {
"psr-4": { "Coinbase\\Wallet\\": "src/" }
},
Si vous n'utilisez pas d'auto-chargeur de classe, vous devrez déterminer les paramètres individuels de l'auto-chargeur. require_once
déclarations. Vous aurez probablement besoin de beaucoup d'essais et d'erreurs car la plupart des auteurs de bibliothèques ne se soucient pas de documenter cela.
Aussi, et juste au cas où il y aurait une confusion à ce sujet :
- Composer dispose d'un programme d'installation graphique officiel pour Windows et d'un programme d'installation pour l'Europe. copier et coller procédure d'installation en ligne de commande pour toutes les plateformes.
- Composer peut être exécuté localement et sa sortie peut être téléchargée ailleurs. Vous n'avez pas besoin de SSH dans votre hébergement mutualisé.
- La commande nécessaire à l'installation d'une bibliothèque peut être copiée et collée depuis le site Web du paquet - même si le responsable du paquet n'a pas pris soin de la documenter, packagist.org la génère par défaut.
Composer n'est pas parfait et ne convient pas à tous les cas de figure mais, lorsqu'il s'agit d'installer une bibliothèque qui repose sur lui, c'est sans aucun doute la meilleure alternative et elle est assez décente.
J'ai vérifié les autres réponses qui sont venues après la mienne. Elles se répartissent principalement en deux catégories :
- Installer une bibliothèque et écrire un script de téléchargement personnalisé avec elle.
- Utiliser une interface en ligne basée sur le web pour Composer
Sauf erreur de ma part, aucun d'entre eux ne répond aux plaintes exprimées par le PO :
- Courbe d'apprentissage
- Utilisation de logiciels tiers
- Possibilité de développer directement sur le serveur (en utilisant SSH, je présume)
- Arbre de dépendance potentiellement profond
14 votes
Tous les paquets utilisant Composer sont toujours de simples répertoires remplis de fichiers PHP. Vous pouvez les installer exactement de la même manière qu'avant l'existence de composer : copiez-les quelque part et
include
les fichiers.2 votes
L'installation basée sur Composer implique l'exécution d'une seule commande, qui est presque toujours affichée sur la page d'accueil du paquet. Je comprends qu'il existe des cas d'utilisation pour l'installation manuelle, mais ce ne sera jamais la méthode la plus simple.
26 votes
@ÁlvaroGonzález Je ne pourrais pas être plus en désaccord avec votre commentaire. Veuillez consulter : okmaya.com/2016/03/13/package-managers-hate-npm-composer . Je ne dis pas que les gestionnaires de paquets ne sont pas excellents pour certaines personnes et certains projets, mais qu'ils demandent souvent plus de travail et d'efforts que de simplement déposer un dossier dans votre projet et de le référencer.
3 votes
@dallin Malgré le titre, cet article est surtout une diatribe sur les frameworks et les chaînes d'outils modernes sur-engénérés (un problème en soi). Si vous voulez installer une bibliothèque qui a 30 dépendances, vous pouvez vous sentir plus viril en abandonnant Composer au profit de 30 installations manuelles, mais je ne dirais pas que c'est plus facile, encore moins pour les développeurs débutants.
17 votes
@ÁlvaroGonzález Pour être honnête, je n'ai pas eu à installer une bibliothèque avec 30 dépendances (cela semble mal conçu, en fait). Je suis sûr que ce serait un cauchemar sans un gestionnaire de paquets. Mes expériences sont cependant similaires à celles de cet article. J'essaie généralement d'installer quelque chose avec une ou deux dépendances et je finis par devoir passer mon temps à résoudre les problèmes avec le gestionnaire de paquets avant même de commencer à coder. Les messages d'erreur sont beaucoup trop fréquents et incroyablement vagues et ésotériques. Ceci illustre peut-être mieux mon sentiment : imgur.com/r/webdev/bO7oTf6 . Mes expériences avec les MP ont été similaires.