Nous remplaçons le gestionnaire de paquets JS de Discourse core de ‘yarn classic’ par pnpm. Cela apportera des améliorations significatives en termes de vitesse d’installation et d’exigences de stockage.
Production
Si vous utilisez un hébergement géré ou une installation standard, vous n’avez rien à faire. Le changement sera appliqué automatiquement lors de votre prochaine mise à jour.
Si vous avez un environnement de production personnalisé, vous devrez remplacer toutes les commandes yarn ... par pnpm ....
Développement
Après avoir récupéré la dernière version de Discourse core, vous pourriez voir une erreur comme celle-ci au démarrage du serveur :
pnpm n'est pas installé
ou, si vous exécutez une commande comme yarn install, vous verrez
error discourse@: Le moteur "yarn" est incompatible avec ce module. Version attendue "please-use-pnpm". Obtenu "..."
Pour résoudre ce problème, vous devriez :
-
exécuter
npm install -g pnpm -
exécuter
pnpm install -
remplacer toutes les utilisations de
yarn ...dans votre environnement de développement parpnpm ...
Plugins / Thèmes
Nous avons fait passer nos plugins/thèmes officiels à l’utilisation de pnpm pour leurs dépendances de linting.
Pour le discourse_theme CLI, vous devrez mettre à jour votre version locale en exécutant gem update discourse_theme.
Revenir à yarn
Si vous avez besoin de revenir à une version de Discourse basée sur yarn (par exemple, pour développer sur la branche stable), vous devrez supprimer manuellement tous les répertoires node_modules du core :
rm -rf node_modules app/assets/javascripts/*/node_modules


