Aller au contenu principal

Utilisation de pnpm avec Lerna

Traduction Bêta Non Officielle

Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →

Lerna peut être utilisé dans un espace de travail pnpm pour bénéficier pleinement des avantages combinés de pnpm et Lerna.

Lorsqu'il est utilisé dans un espace de travail pnpm, Lerna :

  • résout les emplacements des packages via pnpm-workspace.yaml (https://pnpm.io/workspaces)

  • ignore la propriété "workspaces" dans package.json

  • bloque les commandes bootstrap, link et add. À la place, utilisez directement les commandes pnpm pour gérer les dépendances (https://pnpm.io/cli/install).

  • respecte le protocole d'espace de travail pour les dépendances entre packages.

    • Pendant lerna version, les dépendances seront mises à jour normalement tout en conservant le préfixe workspace: s'il existe.
    • Si un alias d'espace de travail est utilisé, lerna version n'incrémentera pas la version de la dépendance, car les alias ne spécifient pas de numéro de version à modifier.

Premiers pas

Pour configurer pnpm avec Lerna :

  1. Si ce n'est déjà fait, installez pnpm : https://pnpm.io/installation.

  2. Supprimez le dossier node_modules/ à la racine s'il existe. Si vous n'utilisez pas déjà d'espaces de travail, exécutez lerna clean pour supprimer les dossiers node_modules/ dans tous les packages.

  3. Définissez "npmClient": "pnpm" dans lerna.json.

  4. Créez un fichier pnpm-workspace.yaml à la racine de votre projet. Si vous utilisez déjà des espaces de travail npm ou yarn, déplacez la propriété "workspaces" de package.json vers pnpm-workspace.yaml. Sinon, déplacez la propriété "packages" de lerna.json vers pnpm-workspace.yaml. Par exemple :

    package.json
    {
    "workspaces": ["packages/*"]
    }

    et

    lerna.json
    {
    "packages": ["packages/*"]
    }

    deviennent :

    pnpm-workspace.yaml
    packages:
    - "packages/*"
  5. (optionnel) Exécutez pnpm import pour générer un fichier pnpm-lock.yaml à partir d'un fichier de verrouillage existant. Consultez https://pnpm.io/cli/import pour les sources de fichiers de verrouillage prises en charge.

  6. Exécutez pnpm install.