web-dev-qa-db-fra.com

Comment ajouter un thème depuis github avec composer

J'ai une installation Drupal 8 et j'aime installer un thème depuis github.com en utilisant composer.

C'est ce thème https://github.com/forumone/gesso

Quelqu'un peut-il m'aider sur ce que j'ai à ajouter au composer.json et où?

2
lesley n.

Si vous voulez toujours télécharger le thème depuis github, vous pouvez éditer le fichier composer.json en ajoutant plus de référentiel:

Ajoutez ce code

 {
    "type": "package",
    "package": {
        "name": "forumone/gesso",
        "version": "2.0",
        "type":"drupal-theme",
        "source": {
            "url": "https://github.com/forumone/gesso.git",
            "type": "git",
            "reference": "8.x-2.x"
        }
    }
}

après

{
    "type": "composer",
    "url": "https://packages.drupal.org/8"
},

et courir composer require "forumone/gesso" pour télécharger le thème et mettre à jour composer.lock.

4
Jonh

Ajout de cette réponse pour plus de précisions pour les futurs lecteurs:

Le thème en question à cette date de commentaire a une version stable à partir d'avril 2018. Mais la branche de développement est active et mise à jour.

Dans un tel cas, vous feriez cela pour le récupérer à la place de la dernière stable:

composer require drupal/gesso:2.x-dev

Pour aller encore plus loin, vous pouvez ajouter un commit sha à la fin de la version pour "épingler" le code à ce commit - sauf si vous voulez des mises à jour continues de HEAD. Il s'agit d'une option polyvalente que vous pouvez choisir dans Composer qui n'est pas si connue dans les cercles Drupal.

Vous n'avez pas besoin de tirer de GitHub dans ce cas. La seule fois où vous voudriez faire cela, c'est quand un paquet ne vit pas du tout sur drupal.org, 99% du temps ils sont sur Packagist (paquets tiers, comme Prophecy, etc.).

Le cas rare est lorsque vous avez un dépôt privé sur GitHub/GitLab ou ailleurs, alors c'est l'approche que vous voudriez adopter pour le récupérer.

4
Kevin

Vous ne devez pas utiliser le référentiel Github, sauf si vous vous impliquez dans le développement du thème - il ne contient pas de fichier composer.json, il n'est donc pas censé être installé de cette façon.

Vous pourriez essayer de le configurer en tant que référentiel personnalisé, mais étant donné qu'il s'agit d'un thème hébergé sur (et emballé par) drupal.org, il serait plus facile de simplement l'installer de la manière standard :

composer require drupal/gesso
2
Clive

Dans la racine de votre thème, ajoutez composer.json comme suit

 {
  "name": "my/theme",
  "description": "Theme.",
  "type": "drupal-theme",
 }

Et dans votre principal composer.json (Drupal) sous la section "Repository" ajoutez

{
  "type": "vcs",
  "url": "[email protected]:my/theme.git",
  "no-api": true
}

Et puis exécutez composer update

0
amjad1233