Maison >développement back-end >tutoriel php >Compositeur local pour tout le monde! Une configuration satisfaisante conviviale

Compositeur local pour tout le monde! Une configuration satisfaisante conviviale

Christopher Nolan
Christopher Nolanoriginal
2025-02-10 12:13:10905parcourir

Cet article explique comment configurer une instance SATI locale pour héberger des packages de compositeurs sur un réseau, permettant une récupération de package hors ligne. Il élimine le besoin d'une connexion Internet pour accéder aux packages.

Local Composer for Everyone! A Conference-Friendly Satis Setup

Concepts clés:

  • Hébergement de packages locaux: SATIS crée un référentiel local, permettant aux utilisateurs du réseau de télécharger des packages sans accès Internet.
  • satis.json Configuration: Ce fichier spécifie des référentiels, des versions et des emplacements de téléchargement. Il répertorie les packages nécessaires.
  • Configuration chronophage: Satis télécharge toutes les versions du package et leurs binaires. La spécification des versions exactes est recommandée pour l'efficacité.
  • Cas d'utilisation du réseau hors ligne / instable: Idéal pour les conférences, le développement hors ligne ou comme sauvegarde pour l'accès aux emballages d'entreprise.

L'auteur utilise Homestead améliorée pour la configuration, mais un environnement PHP standard ou Docker convient également. Un port partagé (par exemple, 6789) doit être configuré dans Homestead.yaml.

étapes de configuration des SATI:

  1. Installer Satis: composer create-project composer/satis --stability=dev --keep-vcs
  2. Créer satis.json: Ce fichier répertorie les packages requis (en utilisant leurs URL gitHub complètes pour les référentiels VCS). L'exemple comprend de nombreux packages:
<code class="language-json">{
    "name": "NoFW Websc",
    "homepage": "http://nofw.websc:6789",
    "repositories": [
        // ... (List of Github repositories) ...
    ],
    "require-all": true,
    "require-dependencies": true,
    "require-dev-dependencies": true,
    "archive": { "directory": "dist" }
}</code>
<code>*Note:  `require-all` is inefficient.  Specifying exact package versions is advised for faster builds.*</code>
  1. Créez le référentiel: php bin/satis build satis.json web/ (cela peut nécessiter un jeton github).
  2. Hébergez le référentiel: Démarrez un serveur Web PHP simple: cd web; php -S 0.0.0.0:6789
  3. Accédez au référentiel: Accès via l'adresse IP et le port de la machine hôte (par exemple, 192.168.5.11:6789 ou un nom d'hôte).

Local Composer for Everyone! A Conference-Friendly Satis Setup

Utilisation côté client:

  1. Ajouter une entrée d'hôte (si vous utilisez le nom d'hôte): Ajoutez le nom d'hôte et l'adresse IP au fichier /etc/hosts de la machine client.
  2. Ajouter un référentiel à composer.json:
<code class="language-json">{
    "repositories": [
        {
            "type": "composer",
            "url": "http://nofw.websc:6789"
        }
    ],
    "config": { "secure-http": false }
}</code>
  1. Installer les packages: composer require twig/twig beelab/bowerphp

Local Composer for Everyone! A Conference-Friendly Satis Setup

Dépannage:

  • Problèmes d'intranet Windows: Assurez-vous que tous les appareils sont sur le même routeur / extension.
  • Connexion refusée: Vérifiez la transmission de port dans Homestead.yaml ou Vagrantfile.
  • Alternatives à ngrok / localtunnel: Celles-ci nécessitent un accès Internet; Satis est pour le partage de réseau local.

Conclusion:

SATIS fournit un moyen simple de créer un référentiel de compositeurs local, idéal pour les environnements réseau hors ligne ou instables. Il est utile pour les conférences, les sauvegardes d'entreprise et même les configurations portables à l'aide d'un Raspberry Pi.

Questions fréquemment posées (FAQ): (Les FAQ d'origine sont incluses dans la sortie, car elles sont pertinentes et n'ont pas besoin de modifications pour la paraphrase.)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn