J'ai essayé quelques commandes CLI possibles mais aucune ne semble réellement mettre à jour les paquets installés avec yarn global add
.
yarn global upgrade
& yarn upgrade global
les deux ne fonctionnent pas correctement. Existe-t-il un moyen de mettre à niveau les packages globaux?
Comme le dit webjay , il vous suffit de:
yarn global upgrade
à partir de yarn
version 1.2.1.
Pour les versions antérieures:
(cd ~/.config/yarn/global && yarn upgrade)
Malheureusement, il n’existe actuellement aucun yarn global check
.
Vous pouvez exécuter yarn global add --force
pour réinstaller tous les packages.
Pour check
global packages, vous pouvez traiter ~/.config/yarn/global/
comme un package local, car:
~/.config/yarn/global/package.json
a des dépendances pour tous les packages globaux~/.config/yarn/global/node_modules
contient tous les packages globaux. Vérifiez tous les packages globaux et réinstallez-le uniquement en cas d'erreur:
$ (cd ~/.config/yarn/global && yarn check || yarn install --force)
Utiliser yarn global add <package>@latest
mettra à jour un paquet spécifique si c'est ce que vous essayez de faire.
Mettre à jour
Le yarn global upgrade
récemment ajouté met à jour tous les packages. Cela n'existait pas au moment de la réponse initiale.
Un problème a déjà été créé à cet effet sur https://github.com/yarnpkg/yarn/issues/776
J'utilise yarn global upgrade
Notez que per yarnpkg/yarn # 5001 , yarn global upgrade foo
ne met pas toujours à niveau un paquet vers la dernière version, même avec le drapeau --latest
.
Par exemple, si vous avez foo
v12.0.1 installé et que v13.0.0 est disponible, la mise à niveau vers v13.0.0 ne serait pas mise à niveau car yarn global upgrade
ne dépasse pas actuellement les obstacles majeurs dans semver par défaut (voir la discussion dans le problème ci-dessus pour plus de détails).
Lancer yarn global add foo
fait met à niveau la version actuellement installée même si une version majeure se produit entre la version actuellement installée et la dernière version.
Je crois que yarn global upgrade-interactive
permettrait également de mettre à niveau les problèmes antérieurs liés aux versions majeures.