<p>La mise à jour automatique du fil doit être mise à jour en utilisant la même méthode d'installation utilisée à l'origine</p>

Créé le 17 oct. 2016  ·  64Commentaires  ·  Source: yarnpkg/yarn

Voulez-vous demander une _fonctionnalité_ ou signaler un _bug_?
Fonctionnalité

Quel est le comportement actuel?
yarn self-update télécharge toujours une archive tar.

Quel est le comportement attendu?
yarn self-update doit se mettre à jour en utilisant la même méthode d'installation que celle utilisée par l'utilisateur. Par exemple, si Yarn a été installé via le package Debian / Ubuntu, yarn self-update devrait exécuter sudo apt-get update && sudo apt-get install yarn . Sous Windows, une fois installé via le programme d'installation, il devrait télécharger https://yarnpkg.com/latest.msi et l'exécuter.

Ceci est étroitement lié à # 1138 ("ajouter la vérification de la version de fil au démarrage") en ce que les deux problèmes nécessitent un moyen de déterminer la méthode d'installation utilisée par l'utilisateur.

cat-feature good first issue help wanted high-priority triaged

Commentaire le plus utile

@kristojorg J'ai eu le même problème. Je (pense que je) l'ai corrigé en faisant un tas de choses:

  1. Suppression manuelle des binaires de fils:
# remove binaries
rm -f /usr/local/bin/yarnpkg
rm -f /usr/local/bin/yarn

# remove cache
rm -rf ${HOME}/.yarn
  1. Si vous avez ce qui suit dans votre .zshrc ou .bash_profile , supprimez-le:
export PATH="$PATH:`yarn global bin`"
  1. Installer via curl :
curl -o- -L https://yarnpkg.com/install.sh | bash
  1. Assurez-vous qu'il y a la ligne suivante dans votre .zshrc ou .bash_profile :
export PATH="$HOME/.yarn/bin:$PATH"

Maintenant, si vous essayez d'exécuter yarn -v , vous devriez obtenir la dernière version stable.

Tous les 64 commentaires

Voulez-vous fermer cela puisque self-update été supprimé avec https://github.com/yarnpkg/yarn/pull/1429?

Non, le plan est de rétablir une version d'auto-mise à jour qui utilise le droit
méthode d'installation.

Envoyé de mon téléphone.

Le 7 décembre 2016 à 02h04, "Scott Busche" [email protected] a écrit:

Voulez-vous fermer cela puisque la mise à jour automatique a été supprimée avec # 1429
https://github.com/yarnpkg/yarn/pull/1429 ?

-
Vous recevez ceci parce que vous avez créé le fil.
Répondez directement à cet e-mail, affichez-le sur GitHub
https://github.com/yarnpkg/yarn/issues/1139#issuecomment-265172525 , ou muet
le fil
https://github.com/notifications/unsubscribe-auth/AAFnHdMyShESFRQIiqAJhZEWI_HgajUoks5rFXmNgaJpZM4KYOBW
.

https://yarnpkg.com/en/docs/cli/self-update devrait probablement être supprimé / mis à jour

Si je suis sur 0.18.1, comment puis-je passer à la version suivante?

@ meta-meta Actuellement, vous devez effectuer une mise à niveau manuelle.

que diriez-vous de yarn global add yarn ?

Je suis un grand fan de Yarn mais je suis un peu préoccupé par la façon dont l'auto-mise à jour a été supprimée sans avis de dépréciation, aucune mention dans les notes de publication , et qu'elle a été intégrée à un PR qui est en grande partie sans rapport et où il n'y avait pas discussion sur la suppression de la mise à jour automatique.

Je comprends que Yarn en est à ses débuts et que des modifications de l'API sont à prévoir, mais ce serait bien s'il y avait un processus pour supprimer les fonctionnalités de base.

(désolé si ce n'est pas le bon endroit pour discuter, mais ce PR est le lien vers les documents )

que diriez-vous du fil global ajouter du fil?

L'installation de Yarn via Yarn n'est pas un cas d'utilisation pris en charge pour le moment et peut entraîner plusieurs problèmes. Nous ne le recommandons pas pour le moment.

@dancoates - La commande d'auto-mise à jour n'a jamais vraiment fonctionné à 100% correctement, ce PR a simplement supprimé les restes de la commande existante tout en ajoutant des éléments de cadre pour la nouvelle mise à jour automatique (qui viendra dans le futur, selon ce problème)

Comment puis-je mettre à jour manuellement le fil? Pas sûr de celui-là, j'ai utilisé de la bière sur mon mac pour le faire fonctionner mais je ne sais pas ce que signifie «manuel» ici ... tous les conseils sont appréciés.

Mettez-le à niveau de la même manière que vous mettez à niveau toute autre application installée à l'aide de Homebrew.
Je suppose qu'il a une commande "upgrade".

Envoyé de mon téléphone.

Le 26 janvier 2017 à 9h11, "Cato" [email protected] a écrit:

Comment puis-je mettre à jour manuellement le fil? Pas sûr de celui-là, j'ai utilisé de la bière sur mon
mac pour le faire fonctionner, mais je ne sais pas ce que signifie «manuel» ici ... des conseils
apprécié.

-
Vous recevez ceci parce que vous avez créé le fil.
Répondez directement à cet e-mail, affichez-le sur GitHub
https://github.com/yarnpkg/yarn/issues/1139#issuecomment-275447861 , ou muet
le fil
https://github.com/notifications/unsubscribe-auth/AAFnHSm1RTv0bZMHtPxkWkS01hPl5Rm3ks5rWNPJgaJpZM4KYOBW
.

@CatinhoCR J'ai initialement installé yarn en utilisant npm, donc j'ai fait npm uninstall -g yarn puis brew install yarn - Et maintenant j'ai la dernière version. Cela fonctionnerait également en utilisant la commande brew upgrade comme @ Daniel15 mentionné.

npm update yarn -g

Vous pouvez installer un homebrew de largeur de fil.So brew uninstall yarn .Et ce n'est pas un bon choix d'installer du fil avec homebrew lorsque vous avez besoin de traverser le mur.Chaque fois que vous avez besoin de brasser la mise à jour.Il est toujours expiré .....

Malheureusement, npm update yarn -g ne fait pas toujours l'affaire. Par exemple, il n'a pas été mis à jour de la v.0.20.3 à la v.0.21.3 sur ma machine OS / X. Mais ce qui suit a fonctionné:

npm uninstall yarn -g
npm install yarn -g

npm a parfois des problèmes étranges, c'est pourquoi nous ne recommandons pas de l'utiliser pour installer Yarn.

@wardbell Le simple fait d'exécuter l'installation fonctionne également:

npm install yarn -g

Pas besoin de désinstaller d'abord.

J'ai essayé de mettre à jour manuellement via homebrew, mais lorsque je tape yarn --version il affiche toujours 19.0. J'essaie maintenant de désinstaller, mais je ne peux pas non plus le faire ... yarn --version affiche toujours 19.0 après un brew uninstall yarn . J'ai aussi essayé npm uninstall yarn sans succès non plus.

Pouvez-vous me dire ce que je dois supprimer pour que le fil soit complètement désinstallé afin que je puisse réinstaller avec la version la plus récente?

@kristojorg J'ai eu le même problème. Je (pense que je) l'ai corrigé en faisant un tas de choses:

  1. Suppression manuelle des binaires de fils:
# remove binaries
rm -f /usr/local/bin/yarnpkg
rm -f /usr/local/bin/yarn

# remove cache
rm -rf ${HOME}/.yarn
  1. Si vous avez ce qui suit dans votre .zshrc ou .bash_profile , supprimez-le:
export PATH="$PATH:`yarn global bin`"
  1. Installer via curl :
curl -o- -L https://yarnpkg.com/install.sh | bash
  1. Assurez-vous qu'il y a la ligne suivante dans votre .zshrc ou .bash_profile :
export PATH="$HOME/.yarn/bin:$PATH"

Maintenant, si vous essayez d'exécuter yarn -v , vous devriez obtenir la dernière version stable.

Je vous remercie!

@kristojorg Pouvez-vous aussi changer 2. pour avoir ${HOME} au lieu de /Users/adrianmcli

* Il suffit d'ajouter ceci pour le bénéfice de ceux sur Microsoft Windows.
Si vous avez initialement installé Yarn à l'aide de Chocolatey (le gestionnaire de packages pour Windows), procédez comme suit pour le mettre à jour vers la dernière version:

  1. Ouvrez le shell de commande Windows (cmd.exe) en tant qu'administrateur.
  2. Exécutez la commande: c:> choco upgrade yarn
  3. Exécutez, c:> yarn --version, et confirmez qu'il a été mis à niveau vers la dernière version. Voila!

Sur Ubuntu 16.04, le fil est automatiquement mis à jour via le logiciel et les mises à jour.

J'ai eu un problème similaire, et le problème n'était pas que npm ne mettait pas à jour le fil (c'était le cas), mais qu'il y avait apparemment deux liens dans mon environnement:

Un pour /usr/bin/yarn qui pointait vers /usr/lib/node_modules/yarn/bin/yarn.js (il s'agissait de la version la plus récente installée par npm)

Et un pour /usr/local/bin/yarn qui pointait vers /usr/local/lib/node_modules/yarn/bin/yarn.js (c'était une ancienne version)

Je ne sais pas d'où venait le /usr/local/bin/yarn link , mais c'était celui qui était utilisé par mon shell quand je viens de taper yarn . J'ai supprimé le lien et maintenant tout va bien.

@MDM Comment avez-vous supprimé le lien /usr/local/bin/yarn si vous ne saviez pas d'où il venait?

@skube sudo unlink /usr/local/bin/yarn

@MDM Merci. J'ai donc fait unlink /usr/local/bin/yarn qui semblait fonctionner.
puis, afin de mettre à jour à la dernière, a exécuté npm i -g yarn qui semblait simplement se connecter à nouveau

❯ npm i -g yarn
/usr/local/bin/yarnpkg -> /usr/local/lib/node_modules/yarn/bin/yarn.js
/usr/local/bin/yarn -> /usr/local/lib/node_modules/yarn/bin/yarn.js

Et pourtant, je ne suis toujours pas mis à jour vers la dernière version 0.24.6

❯ yarn -v
yarn install v0.24.5
[1/4] 🔍  Resolving packages...
success Already up-to-date.
✨  Done in 1.51s.

Il est intéressant de noter que lorsque je fais sudo npm install --global yarn , les liens / usr / local / bin ne sont pas créés, il y a donc une différence dans nos environnements que je ne peux pas expliquer. Quant à 0.24.5 étant la version disponible, cela semble peut-être être un problème npm - 0.24.6 n'est pas installé, pour une raison quelconque.

Je peux confirmer que 0.24.6 n'est pas installé. J'ai 0.24.5 et quand j'exécute npm outdated -g , npm ne reconnaît pas qu'une mise à jour est disponible. Je ne sais pas s'il s'agit d'un problème npm ou d'un problème avec le paquet de fils.

J'utilise nvm pour gérer mes installations de nœuds, donc je n'ai pas vraiment le choix. J'ai besoin d'utiliser npm pour installer du fil.

Fait intéressant, sur une autre machine, j'ai pu ...

warning Your current version of Yarn is out of date. The latest version is "0.24.6" while you're on "0.21.3".
info To upgrade, run the following command:
$ curl -o- -L https://yarnpkg.com/install.sh | bash

Alors j'ai fait

❯ curl -o- -L https://yarnpkg.com/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  6746    0  6746    0     0  22490      0 --:--:-- --:--:-- --:--:-- 22561
Installing Yarn!
/usr/local/bin/yarn
> Downloading tarball...

> We've added the following to your .zshrc
> If this isn't the profile of your current shell then please add the following to your correct profile:

export PATH="$HOME/.yarn/bin:$PATH"

> Successfully installed Yarn 0.24.6! Please open another terminal where the `yarn` command will now be available.

@octopitus Dans mon cas, j'ai dû ajouter des permissions avec sudo yarn add global yarn .

brew upgrade yarn et brew link --overwrite node travaillé pour mettre à jour le fil sur OSX sierra

Vous voulez dire brew link --overwrite yarn pour la deuxième commande, n'est-ce pas?

Je crois que @localredhead a installé du fil avec node. J'ai installé le fil comme suit:
brew install yarn --without-node , car je gère le nœud en utilisant nvm .

Il est probablement en train d'écraser le lien vers le nœud, de sorte qu'il utilise la bonne version au lieu de celle qui vient avec / du fil.

Cela peut sembler évident pour certains, mais sur Windows, le mien a été installé (je pense à partir du MSI, ou d'un script de configuration d'environnement de développement fourni par mon entreprise) dans Program Files (x86) . Peu importe la méthode de mise à niveau que j'ai utilisée, yarn version ne bougerait pas. J'ai finalement découvert la cause avec which yarn qui indiquait l'emplacement incriminé. J'ai dû utiliser «Modifier ou supprimer un programme» de Windows pour d'abord le supprimer, puis simplement npm install -g yarn pour réinstaller à la dernière version. Maintenant, je peux simplement utiliser npm pour contrôler la version, ce qui est bien meilleur.

@mikechamberlain Cela a fonctionné pour moi, merci!

Dernier état: nous devons réimplémenter la commande self-update qui utilise la méthode d'installation d'origine.

Travailler sur la réimplémentation.

@onurtemizkan Cela devrait être relativement simple. N'hésitez pas à m'envoyer un message si vous êtes coincé :)

Nous avons déjà des informations sur la commande qui doit être exécutée (car Yarn imprime un avis avec la commande lorsque la version est obsolète), Yarn a juste besoin de l'exécuter. Un cas légèrement différent est sur Windows lorsque le programme d'installation a été utilisé, car nous devions télécharger le programme d'installation puis le msiexec.

Désolé de vous interrompre 😉

Avez-vous envisagé de simplement déléguer cela à npm (en supposant bien sûr que le fil fonctionne si npm existe en premier lieu).

» npm update -g yarn

La bonne chose est que si cela ne fonctionne pas, vous pouvez toujours:

So we tried to get npm to handle the update...

Here are your options:
…

Now, aren't u glad to be using yarn for your other packages!

@smotaal Il y a quelques problèmes avec ça:

  • Si vous avez installé Yarn via une autre méthode, vous aurez maintenant deux versions de Yarn installées (une via le gestionnaire de packages système et une via npm)
  • Tout le monde n'a pas installé npm. Yarn ne nécessite pas l'installation de npm pour fonctionner

si votre système est Windows et a installé npm, vous pouvez utiliser npm install yarn<strong i="5">@latest</strong> -g pour mettre à jour vers la version supérieure.

Je ne me souviens pas comment je l'ai configuré sur ce mac il y a environ un an, je sais que j'utilisais autre chose que NPM à un moment donné, mais quand j'ai perdu mon fil, j'ai simplement NPMed et je n'ai aucun problème autre que le fil à me plaindre quand Je suis assez en retard, ce qui me rappelle de mettre à jour et j'ai simplement npm update -g yarn et je l'oublie jusqu'au prochain rappel.

Du point de vue de l'utilisateur, je pense que le fil peut recommander «pris en charge» et peut-être mentionner «non officiel» où si «non officiel» et que cela ne fonctionne pas comme prévu, veuillez utiliser «pris en charge» pour installer et voici «recommandé» si vous devez annuler "non officiel"

Honnêtement, il est important pour un gestionnaire de paquets d'avoir un chemin clair pour être bien géré.

@onurtemizkan travaillez-vous toujours là-dessus?

Y a-t-il des mises à jour?
Mon approche actuelle est: yarn global add yarn@latest ce qui ne semble pas être le moyen idéal

Pour ceux qui souhaitent simplement mettre à jour automatiquement le fil sous Windows, sans avoir à télécharger le binaire, j'utilise choco depuis un moment pour le faire, et il fait ce travail parfaitement. C'est un outil de ligne cmd pour installer des programmes (tout comme apt-get ). Vous venez de lancer choco install yarn , et yarn est installé. Pour mettre à jour, la commande est choco upgrade yarn .

Non désolé, chocolaté est tout simplement horrible.

Si vous n'aimez pas Chocolatey, ne l'utilisez pas.

Je pense que c'est plutôt bien. Au travail, nous avons beaucoup de
Paquets chocolatés pour divers progiciels. Semble bien fonctionner.

Dans tous les cas, ce problème concerne spécifiquement la réimplémentation de la mise à jour automatique dans
Fil. Il n'utilisera Chocolatey que si c'est ce que vous avez utilisé à l'origine! Si vous
utilisé directement le programme d'installation, les mises à niveau utiliseraient également le programme d'installation
directement. Donc, cela ne vous obligera pas à utiliser Chocolatey.

Envoyé de mon téléphone.

Le ven 20 avril 2018, 08:25 Benjamin Staneck [email protected]
a écrit:

Non désolé, chocolaté est tout simplement horrible.

-
Vous recevez cela parce que vous avez été mentionné.
Répondez directement à cet e-mail, affichez-le sur GitHub
https://github.com/yarnpkg/yarn/issues/1139#issuecomment-382869380 , ou muet
le fil
https://github.com/notifications/unsubscribe-auth/AAFnHRZ-MoIxY2rwVGVHWCqXEPQRAlKHks5tqPKggaJpZM4KYOBW
.

Scoop est une alternative à Chocolatey et fonctionne beaucoup comme une bière.

Yarn vient de me dire que ma version de fil est obsolète et m'a demandé de mettre à jour la dernière version de fil. Cependant, sa recommandation - une commande curl & bash - me met un peu mal à l'aise. Cette commande ne remplacerait-elle pas efficacement le besoin de curl & pipe to bash pour améliorer le fil? Cette commande agirait-elle comme la méthode de mise à niveau principale et fréquente du fil?

C'est une expérience plutôt médiocre pour les nouveaux utilisateurs:

1) Tirez l'image officielle et actuelle de LTS Docker (10.12.1) pour le nœud, qui comprend Yarn 1.10.1.
2) yarn import
3) yarn install indique que la version de yarn est obsolète et recommande une commande curl | bash , ce qui est généralement considéré comme une mauvaise idée par les administrateurs système et les équipes de développement.
4) Trouvez et exécutez yarn self-update sur https://yarnpkg.com/en/docs/cli/self-update, qui renvoie à ce problème Github.
5) Oubliez le problème avec npm qui m'a poussé à essayer le fil en premier lieu.

C'est un peu fou que cela ne soit toujours pas réglé. Après plus d'un an, je pense que ma solution ( ici ) est toujours la plus propre qui soit (même si c'est fastidieux et ennuyeux).

Nous devrions collaborer pour mettre en place une commande pour cela! Le travail acharné de l'installateur est déjà fait, il s'agit d'empaqueter le replace et d'exécuter une commande yarn.

ne fonctionne toujours pas?!

Je vais résumer ma solution ci-dessus à nouveau ici:

  1. Supprimer le fil manuellement

    # remove binaries
    rm -f /usr/local/bin/yarnpkg
    rm -f /usr/local/bin/yarn
    
    # remove cache
    rm -rf ${HOME}/.yarn
    

    Si vous avez les éléments suivants dans votre .zshrc ou .bash_profile, supprimez-le:

    export PATH="$PATH:`yarn global bin`"
    
  2. Installez le dernier fil (via curl)

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

    Assurez-vous qu'il y a la ligne suivante dans votre .zshrc ou .bash_profile:

    export PATH="$HOME/.yarn/bin:$PATH"
    

Enfin, exécutez yarn -v pour vérifier votre nouveau numéro de version.

Si quelqu'un veut travailler là-dessus ... Nous avons déjà du code qui détermine la commande à exécuter pour mettre à niveau Yarn:
https://github.com/yarnpkg/yarn/blob/master/src/cli/commands/install.js#L86 -L129

Vous auriez juste besoin d'ajouter une commande "d'auto-mise à niveau" qui exécute la commande correcte.

@ Daniel15 J'ai soumis une pull request à ce sujet, dans l'attente de quelques commentaires. Merci.

Cela fonctionne pour moi:

brew upgrade yarn
npm update yarn -g

des nouvelles à ce sujet? npm update yarn -g fonctionne en attendant, je suppose.

des nouvelles à ce sujet?

@crmpicco Pour l'instant, vous devez encore mettre à jour manuellement.

Il semble que yarn policies set-version [range] été implémenté par @arcanis et peut récupérer et définir la dernière version. Cependant, l'ergonomie de la commande ne suggère pas qu'elle installe une nouvelle version de Yarn - elle fonctionne toujours.

Ainsi, yarn policies set-version nightly vous donnera la dernière version. PR:
https://github.com/yarnpkg/yarn/pull/6673

Je ne suis pas sûr de ce que cela signifierait si vous souhaitez désinstaller du fil, cependant. :en pensant:

Il y a une section de mise à niveau de fil dans la documentation: https://yarnpkg.com/en/docs/install

@ ilias-t il ne s'agit pas de mettre à jour, mais d'utiliser la même méthode d'installation pour mettre à jour.

Ce problème a plus de 2 ans, il semble que vous ne vous en souciez pas. Supprimez simplement la commande, cela ne fonctionne pas et est trompeur.

Cette commande n'existe pas donc il sera difficile de la supprimer 🙂

En ce qui me concerne, je pense que l'intention initiale de ce problème est résolue avec yarn policies set-version . Si cela ne fonctionne pas comme prévu, n'hésitez pas à ouvrir un nouveau numéro.

Cette page vous a été utile?
0 / 5 - 0 notes