Comment mettre à niveau la version de fil en utilisant le terminal?

134

Comment yarnmettre à niveau vers la dernière version?

Janaka Pushpakumara
la source

Réponses:

145

Pour les utilisateurs de macOS, si vous avez installé yarnvia brew, vous pouvez le mettre à niveau à l'aide de la commande ci-dessous:

brew upgrade yarn

sonlexqt
la source
10
étiqueté pour Ubuntu, pas pour MacOs.
Luciano Bargmann
12
Google ne vérifie pas la balise lors du routage des utilisateurs vers cette question.
déchiquetage
1
Vous pouvez le faire plus rapidement avec:(npm uninstall -g yarn && brew install yarn) || brew upgrade yarn
user9869932
Notez que l'installation yarnvia brewinstalle également node. Cela peut être indésirable si, par exemple, vous utilisez nvmou n.
Jeff Fairley le
103
npm install --global yarn

npm upgrade --global yarn 

Cela devrait fonctionner. Essayez de me faire savoir si cela ne fonctionne pas.

Abdul Rahman
la source
6
> Remarque: l'installation de Yarn via npm n'est généralement pas recommandée. Lors de l'installation de Yarn avec des gestionnaires de packages basés sur des nœuds, le package n'est pas signé et le seul contrôle d'intégrité effectué est un hachage SHA1 de base, ce qui constitue un risque de sécurité lors de l'installation d'applications à l'échelle du système. yarnpkg.com/lang/en/docs/install/#alternatives-stable
mnishiguchi
1
Je suis à peu près sûr que vous ne pouvez plus installer / mettre à niveau le fil npm, vous devez plutôt le faire brewau moins sur OSX.
Dragos Rizescu
2
Étant donné que cette question concernait spécifiquement Ubuntu 16.04, les commentaires sur OSX et brewne sont pas vraiment pertinents. Je viens de mettre à niveau yarn through npm upgrade --global yarnsur Ubuntu 16.04 où j'avais installé yarn via npm plus tôt. Donc à peu près sûr, c'est toujours possible, même si ce n'est pas la méthode recommandée. Ma raison initiale pour installer yarn via npm était que j'utilise nvmpour conserver plusieurs versions de node. L'installation de yarn through aptaurait installé une version spécifique de node dans le monde. Mais j'ai lu que cela peut être évité grâce au paramètre --no-install-recommends.
trollkotze
57

Ne me souvenant pas comment j'ai installé yarn, la commande qui a fonctionné pour moi était:

yarn policies set-version

Cette commande met à jour la version actuelle du fil vers la dernière version stable.

De la documentation:

Notez que cette commande est également le moyen préféré de mettre à niveau Yarn - elle fonctionnera peu importe comment vous l'avez installée à l'origine, ce qui peut parfois s'avérer difficile à comprendre autrement.

Référence

Agu V
la source
2
Il convient également de noter que cette commande crée .yarn/et.yarnrc
lfender6445
2
Il n'a pas mis à jour Yarn globalement, uniquement dans le projet actuel.
Tonatio
Cette commande n'a pas fonctionné pour moi, elle renvoie l'erreur: `error Impossible de trouver un fichier package.json dans" / home / .. "`
eyong kevin
1
Je suppose que cela n'a pas fonctionné parce que j'ai installé mon yarnavec apt-get. Je pense qu'il est possible de savoir comment vous avez installé votre package. Pour moi, je le fais npm list -g >filename.txt, puis je recherche le fichier pour tout package nécessaire. Pour apt-get, je le fais apt list --installed, puis je vérifie la sortie du paquet nécessaire.
eyong kevin le
51

Sous Linux, exécutez simplement la commande ci-dessous sur le terminal:

$ curl --compressed -o- -L https://yarnpkg.com/install.sh | bash

Après cela, fermez le terminal actuel et ouvrez-le à nouveau. Et puis, exécutez la commande ci-dessous pour vérifier la version actuelle du fil:

$ yarn --version
Janderson Silva
la source
2
Fonctionne également sur OSX
El'Magnifico
Fonctionne sur git bash mais affiche la même version plus ancienne lorsque vous exécutez yarn --versionsur l'invite de commande.
Niraj Niroula
28

Pour les utilisateurs Windows

Je améliore généralement Yarn avec Chocolatery

choco upgrade yarn
SandroMarques
la source
Oui, cela a fonctionné pour moi sur Windows 10
gil.fernandes
20

yarn policies set-version

téléchargera la dernière version stable

Documents de fils référencés https://yarnpkg.com/lang/en/docs/cli/policies/#toc-policies-set-version

Avril M. Clements
la source
Notez que vous pouvez également spécifier la version avec cette commande. par exempleyarn policies set-version 1.21.0
Edmund Lee le
Cette commande n'a pas fonctionné pour moi, elle renvoie l'erreurerror Couldn't find a package.json file in "/home/.."
eyong kevin
19

npm install -g yarn- résolu le problème lorsque rien ne se passait en cours d'exécution npm update --global yarn.

Méthode alternative de fil de mise à jour: curl --compressed -o- -L https://yarnpkg.com/install.sh | bash.

Les utilisateurs de Mac avec homebrew peuvent exécuter brew upgrade yarn.

Plus de détails ici et ici .

Yuriy Rypka
la source
Si npm update --global yarncela ne fonctionnait pas, mais npm install -g yarnil est possible qu'il n'ait pas été installé par npm en premier lieu.
Jesse Proulx
merci, cela a fonctionné pour moi. mis à niveau au fil 1.22.4 du fil 1.19.1
sajin tm
16

J'avais un lien symbolique obsolète qui m'empêchait d'accéder au bon bac. J'avais également récemment subi une mise à niveau de nœud, ce qui signifie que beaucoup de mes nouveaux bacs étaient disponibles dans un dossier différent avec ce que je pense être une priorité inférieure

Voici ce qui a fonctionné pour moi:

yarn -v 
> 1.15.2

which yarn
> /Users/lfender/.yarn/bin/yarn 

rm -rf /Users/lfender/.yarn/bin/yarn
npm uninstall --global yarn; npm install --global yarn

> + [email protected]
> added 1 package in 0.179s

which yarn
> /Users/lfender/.nvm/versions/node/v12.2.0/bin/yarn

yarn -v
> 1.16.0

Si vous n'utilisez pas NVM, l'emplacement de vos installations de bac est susceptible d'être unique à votre système

À partir de là, je suis passé à faire yarn policies set-versioncomme indiqué ici https://stackoverflow.com/a/55278430/1426788 pour définir ma version de fil au niveau du repo

lfender6445
la source
6

J'ai mis à jour le fil sur mon Ubuntu en exécutant la commande suivante à partir de mon terminal

curl --compressé -o- -L https://yarnpkg.com/install.sh | frapper

la source:https://yarnpkg.com/lang/en/docs/cli/self-update

Roshimon
la source
Merci Merabi. La source est vraiment utile.
Roshimon
5
  1. Ajouter un répertoire de packages de fils:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

  1. Installer le fil:

sudo apt-get update && sudo apt-get install yarn

Veuillez noter que la dernière commande mettra à niveau yarn vers la dernière version si le package est déjà installé.

Pour plus d'informations, vous pouvez consulter la documentation: installation de fil

Merabi Pkhaladze
la source
1
Cette solution a fonctionné pour moi sur le terminal Windows 10 ubuntu WSL avec zsh.
segu
Cette solution fonctionne si vous avez installé yarnavec apt-get. Cela a fonctionné pour moi surUbuntu 16.04
eyong kevin
0

J'ai essayé toutes les solutions ci-dessus dans le pipeline Jenkins qui a besoin du dernier fil. Enfin, cela a fonctionné pour moi.

  1. Exécutez les règles yarn set-version dans le référentiel git
  2. Cela générera le fichier .yarn / releases / yarn-XXXjs et le fichier .yarnrc. Poussez ces deux fichiers dans le référentiel Git.
  3. Maintenant, construisez et toutes les commandes yarn utiliseront la version yarn-XXX.

Remarque : Ceci est utile lorsque vous ne disposez pas d'un accès root à npm install -g yarn.

Chandresh Mishra
la source
-6

Puisque vous avez déjà installé Yarn et que vous souhaitez uniquement mettre à niveau / mettre à jour. vous pouvez simplement utiliser

yarn self-update

Trouvez ref ici https://yarnpkg.com/en/docs/cli/self-update

Stephen
la source
1
Ce n'est pas une solution. Si vous avez vérifié la page, elle indique "Remarque: la mise à jour automatique n'est pas disponible. Voir les politiques pour appliquer les versions dans un projet"
Emobe
pourquoi auraient-ils même la page? c'est déroutant.
Julix
Pourquoi est-ce même une page. Et c'est aussi une page de classement Google. Ughh ..
GN.