<p>Die Selbstaktualisierung des Garns sollte mit derselben ursprünglich verwendeten Installationsmethode aktualisiert werden</p>

Erstellt am 17. Okt. 2016  ·  64Kommentare  ·  Quelle: yarnpkg/yarn

Möchten Sie ein _Feature_ anfordern oder einen _bug_ melden?
Merkmal

Wie ist das aktuelle Verhalten?
yarn self-update lädt immer einen Tarball herunter.

Was ist das erwartete Verhalten?
yarn self-update sollte mit derselben Installationsmethode aktualisiert werden, die vom Benutzer verwendet wird. Wenn Yarn beispielsweise über das Debian / Ubuntu-Paket installiert wurde, sollte yarn self-update sudo apt-get update && sudo apt-get install yarn ausführen. Unter Windows sollte es bei der Installation über das Installationsprogramm https://yarnpkg.com/latest.msi herunterladen und ausführen.

Dies hängt eng mit # 1138 ("Überprüfung der Garnversion beim Start hinzufügen") zusammen, da beide Probleme eine Möglichkeit zur Bestimmung der vom Benutzer verwendeten Installationsmethode erfordern.

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

Hilfreichster Kommentar

@kristojorg Ich hatte das gleiche Problem. Ich (glaube ich) habe es behoben, indem ich eine Reihe von Dingen getan habe:

  1. Manuelles Entfernen von Garnbinärdateien:
# remove binaries
rm -f /usr/local/bin/yarnpkg
rm -f /usr/local/bin/yarn

# remove cache
rm -rf ${HOME}/.yarn
  1. Wenn Sie Folgendes in Ihrem .zshrc oder .bash_profile , entfernen Sie es:
export PATH="$PATH:`yarn global bin`"
  1. Installation über curl :
curl -o- -L https://yarnpkg.com/install.sh | bash
  1. Stellen Sie sicher, dass in Ihrem .zshrc oder .bash_profile die folgende Zeile enthalten ist:
export PATH="$HOME/.yarn/bin:$PATH"

Wenn Sie nun versuchen, yarn -v auszuführen, sollten Sie die neueste stabile Version erhalten.

Alle 64 Kommentare

Möchten Sie dies schließen, da self-update mit https://github.com/yarnpkg/yarn/pull/1429 entfernt wurde?

Nein, es ist geplant, eine Version der Selbstaktualisierung wiederherzustellen, die das Recht verwendet
Installationsmethode.

Von meinem Telefon gesendet.

Am 7. Dezember 2016, 02:04 Uhr, schrieb "Scott Busche" [email protected] :

Möchten Sie dies schließen, da die Selbstaktualisierung mit # 1429 entfernt wurde?
https://github.com/yarnpkg/yarn/pull/1429 ?

- -
Sie erhalten dies, weil Sie den Thread verfasst haben.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/yarnpkg/yarn/issues/1139#issuecomment-265172525 oder stumm schalten
der Faden
https://github.com/notifications/unsubscribe-auth/AAFnHdMyShESFRQIiqAJhZEWI_HgajUoks5rFXmNgaJpZM4KYOBW
.

https://yarnpkg.com/de/docs/cli/self-update sollte wahrscheinlich entfernt / aktualisiert werden

Wie aktualisiere ich auf die nächste Version, wenn ich auf 0.18.1 bin?

@ meta-meta Derzeit müssen Sie manuell aktualisieren.

Wie wäre es mit yarn global add yarn ?

Ich bin ein großer Fan von Yarn, bin aber ein wenig besorgt darüber, wie das Selbst-Update ohne Verfallshinweis entfernt wurde, ohne in den Versionshinweisen PR gebündelt wurde, die weitgehend unabhängig ist und wo es keine gab Diskussion über das Entfernen der Selbstaktualisierung.

Ich verstehe, dass es für Yarn noch sehr früh ist und dass API-Änderungen zu erwarten sind, aber es wäre gut, wenn es einen Prozess zum Entfernen der Kernfunktionalität gäbe.

(Entschuldigung, wenn dies nicht der richtige Ort für Diskussionen ist, aber auf diese PR verweisen die

Wie wäre es mit Garn Global Add Garn?

Das Installieren von Garn über Garn ist derzeit kein unterstützter Anwendungsfall und kann verschiedene Probleme verursachen. Wir empfehlen es im Moment nicht.

@dancoates - Der Befehl zur Selbstaktualisierung hinzugefügt (die in Zukunft gemäß dieser Ausgabe verfügbar sein wird).

Wie kann ich das Garn manuell aktualisieren? Da ich mir nicht sicher bin, habe ich Brew auf meinem Mac verwendet, um es zum Laufen zu bringen, aber ich bin mir nicht sicher, was "Handbuch" hier bedeutet ... Tipps sind willkommen.

Aktualisieren Sie es genauso, wie Sie jede andere App aktualisieren, die mit Homebrew installiert wurde.
Ich gehe davon aus, dass es einen "Upgrade" -Befehl gibt.

Von meinem Telefon gesendet.

Am 26. Januar 2017, 9:11 Uhr schrieb "Cato" [email protected] :

Wie kann ich das Garn manuell aktualisieren? Da ich mir nicht sicher bin, habe ich mein Bier gebraut
Mac, um es zum Laufen zu bringen, aber nicht sicher, was "Handbuch" hier bedeutet ... irgendwelche Tipps
geschätzt.

- -
Sie erhalten dies, weil Sie den Thread verfasst haben.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/yarnpkg/yarn/issues/1139#issuecomment-275447861 oder stumm schalten
der Faden
https://github.com/notifications/unsubscribe-auth/AAFnHSm1RTv0bZMHtPxkWkS01hPl5Rm3ks5rWNPJgaJpZM4KYOBW
.

@CatinhoCR Ich habe das Garn ursprünglich mit npm installiert, also habe ich npm uninstall -g yarn und dann brew install yarn - und jetzt habe ich die neueste Version. Es würde auch mit dem Befehl Brew Upgrade funktionieren, wie

npm update yarn -g

Sie können Homebrew brew uninstall yarn Garnbreite installieren. Also

Leider reicht npm update yarn -g nicht immer aus. Beispielsweise wurde auf meinem OS / X-Computer kein Update von Version 0.20.3 auf Version 0.21.3 durchgeführt. Aber Folgendes hat funktioniert:

npm uninstall yarn -g
npm install yarn -g

npm hat manchmal seltsame Probleme, weshalb wir nicht empfehlen, es zur Installation von Yarn zu verwenden.

@wardbell Das einfache Ausführen von install funktioniert auch:

npm install yarn -g

Keine Notwendigkeit, zuerst zu deinstallieren.

Ich habe versucht, manuell über Homebrew zu aktualisieren, aber wenn ich yarn --version eingebe, wird immer noch 19.0 angezeigt. Ich versuche jetzt zu deinstallieren, kann das aber anscheinend auch nicht ... yarn --version zeigt nach brew uninstall yarn immer noch 19.0 an. Ich habe auch npm uninstall yarn ohne Glück ausprobiert.

Können Sie mir sagen, was ich löschen muss, damit das Garn vollständig deinstalliert wird und ich es mit der neueren Version neu installieren kann?

@kristojorg Ich hatte das gleiche Problem. Ich (glaube ich) habe es behoben, indem ich eine Reihe von Dingen getan habe:

  1. Manuelles Entfernen von Garnbinärdateien:
# remove binaries
rm -f /usr/local/bin/yarnpkg
rm -f /usr/local/bin/yarn

# remove cache
rm -rf ${HOME}/.yarn
  1. Wenn Sie Folgendes in Ihrem .zshrc oder .bash_profile , entfernen Sie es:
export PATH="$PATH:`yarn global bin`"
  1. Installation über curl :
curl -o- -L https://yarnpkg.com/install.sh | bash
  1. Stellen Sie sicher, dass in Ihrem .zshrc oder .bash_profile die folgende Zeile enthalten ist:
export PATH="$HOME/.yarn/bin:$PATH"

Wenn Sie nun versuchen, yarn -v auszuführen, sollten Sie die neueste stabile Version erhalten.

Vielen Dank!

@kristojorg Kannst du auch 2. ändern, um ${HOME} anstelle von /Users/adrianmcli zu haben ?

* Fügen Sie dies nur zum Nutzen derjenigen unter Microsoft Windows hinzu.
Wenn Sie Yarn ursprünglich mit Chocolatey (dem Paketmanager für Windows) installiert haben, gehen Sie wie folgt vor, um es auf die neueste Version zu aktualisieren:

  1. Starten Öffnen Sie die Windows-Befehlsshell (cmd.exe) als Administrator.
  2. Führen Sie den folgenden Befehl aus: c:> choco upgrade garn
  3. Führen Sie c:> yarn --version aus und bestätigen Sie, dass es auf die neueste Version aktualisiert wurde. Voila!

Unter Ubuntu 16.04 wird das Garn automatisch über Software & Updates aktualisiert.

Ich hatte ein ähnliches Problem und das Problem war nicht, dass npm das Garn nicht aktualisierte (es war), sondern dass es anscheinend zwei Links in meiner Umgebung gab:

Eine für /usr/bin/yarn , die auf /usr/lib/node_modules/yarn/bin/yarn.js (dies war die neueste von npm installierte Version)

Und eine für /usr/local/bin/yarn , die auf /usr/local/lib/node_modules/yarn/bin/yarn.js (dies war eine alte Version)

Ich weiß nicht, woher die /usr/local/bin/yarn link kamen, aber es war die, die von meiner Shell verwendet wurde, als ich gerade yarn eingegeben habe. Ich habe den Link entfernt und jetzt ist alles gut.

@MDM Wie haben Sie den Link /usr/local/bin/yarn , wenn Sie nicht wussten, woher er kommt?

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

@ MDM Danke. Also habe ich unlink /usr/local/bin/yarn was zu funktionieren schien.
und dann, um auf das neueste zu aktualisieren, lief npm i -g yarn das sich einfach wieder zu verbinden schien

❯ 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

Und dennoch bin ich immer noch nicht auf den neuesten Stand von 0.24.6 aktualisiert

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

Interessanterweise werden bei sudo npm install --global yarn die Links / usr / local / bin nicht erstellt, sodass es in unseren Umgebungen einige Unterschiede gibt, die ich nicht berücksichtigen kann. Da 0.24.5 die verfügbare Version ist, scheint dies möglicherweise ein npm-Problem zu sein - 0.24.6 wird aus irgendeinem Grund nicht installiert.

Ich kann bestätigen, dass 0.24.6 nicht installiert wird. Ich habe 0.24.5 und wenn ich npm outdated -g ausführe, erkennt npm nicht, dass ein Update verfügbar ist. Ich weiß nicht, ob dies ein npm-Problem oder ein Problem mit dem Garnpaket ist.

Ich verwende nvm, um meine Knoteninstallationen zu verwalten, daher habe ich keine Wahl. Ich muss npm verwenden, um Garn zu installieren.

Interessanterweise konnte ich auf einer anderen Maschine ...

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

So tat ich

❯ 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 In meinem Fall musste ich Berechtigungen mit sudo yarn add global yarn hinzufügen.

brew upgrade yarn und brew link --overwrite node gearbeitet, das Garn auf OSX Sierra zu aktualisieren

Du meinst brew link --overwrite yarn für den zweiten Befehl, oder?

Ich glaube, @localredhead hat Garn mit Knoten installiert. Ich habe Garn wie folgt installiert:
brew install yarn --without-node , weil ich den Knoten mit nvm .

Wahrscheinlich überschreibt er den Link zum Knoten, sodass er die richtige Version anstelle der mit / vom Garn gelieferten verwendet.

Für manche mag es offensichtlich erscheinen, aber unter Windows wurde meins in Program Files (x86) installiert (ich glaube von der MSI oder von einem von meinem Unternehmen bereitgestellten Dev-Env-Setup-Skript). Egal welche Upgrade-Methode ich verwendet habe yarn version würde sich nicht rühren. Ich entdeckte schließlich die Ursache mit which yarn was auf den beleidigenden Ort hinwies. Ich musste Windows '"Programm ändern oder entfernen" verwenden, um es zuerst zu entfernen, und dann einfach npm install -g yarn , um es auf der neuesten Version neu zu installieren. Jetzt kann ich nur noch npm verwenden, um die Version zu steuern, was viel besser ist.

@mikechamberlain Das hat bei mir funktioniert, danke!

Letzter Status: Wir müssen den Befehl self-update , der die ursprüngliche Installationsmethode verwendet, erneut implementieren.

Arbeiten an der Neuimplementierung.

@onurtemizkan Es sollte relativ einfach sein. Fühlen Sie sich frei, mir eine Nachricht zu senden, wenn Sie nicht weiterkommen :)

Wir haben bereits Informationen zu dem Befehl, der ausgeführt werden muss (da Yarn einen Hinweis mit dem Befehl druckt, wenn die Version veraltet ist), muss Yarn ihn nur tatsächlich ausführen. Ein etwas anderer Fall ist unter Windows, als das Installationsprogramm verwendet wurde, da wir das Installationsprogramm herunterladen und dann msiexec.

Entschuldigung, interrupt zu unterbrechen

Haben Sie darüber nachgedacht, dies einfach an npm zu delegieren (vorausgesetzt natürlich, das Garn läuft, wenn npm überhaupt existiert).

» npm update -g yarn

Das Schöne ist, wenn es nicht klappt, kann man immer:

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 Es gibt ein paar Probleme damit:

  • Wenn Sie Yarn über eine andere Methode installiert haben, sind jetzt zwei Versionen von Yarn installiert (eine über den Systempaket-Manager und eine über npm).
  • Nicht jeder hat npm installiert. Für das Garn muss npm nicht installiert sein

Wenn Ihr System Windows ist und npm installiert hat, können Sie mit npm install yarn<strong i="5">@latest</strong> -g auf die Top-Version aktualisieren.

Ich kann mich nicht erinnern, wie ich es vor ungefähr einem Jahr auf diesem Mac eingerichtet habe. Ich weiß, dass ich zu einem bestimmten Zeitpunkt etwas anderes als NPM verwendet habe, aber als ich meinen Thread verloren habe, habe ich einfach NPMed und ich habe keine anderen Probleme als Garn, der sich beschwert, wann Ich bin ziemlich dahinter, was mich an ein Update erinnert und ich einfach npm update -g yarn und vergesse es bis zur nächsten Erinnerung.

Aus Anwendersicht kann Garn "unterstützt" empfehlen und möglicherweise "inoffiziell" erwähnen, wenn "inoffiziell" und "nicht wie beabsichtigt" funktioniert. Bitte verwenden Sie "unterstützt" für die Installation. Hier wird "empfohlen", wenn dies erforderlich ist "inoffiziell" rückgängig machen

Ehrlich gesagt ist es wichtig, dass ein Paketmanager einen klaren Weg für sich selbst hat, um gut verwaltet zu werden.

@onurtemizkan arbeitest du noch daran?

Gibt es Updates?
Mein aktueller Ansatz ist: yarn global add yarn@latest was nicht ideal erscheint

Für diejenigen, die nur Garn unter Windows automatisch aktualisieren möchten, ohne die Binärdatei herunterladen zu müssen, verwende ich seit einiger Zeit choco um dies zu tun, und es macht diesen Job einwandfrei. Es ist ein Cmd-Zeilen-Tool zum Installieren von Programmen (genau wie apt-get ). Sie führen einfach choco install yarn und das Garn wird installiert. Zum Aktualisieren lautet der Befehl choco upgrade yarn .

Nein, tut mir leid, schokoladig ist einfach schrecklich.

Wenn Sie Chocolatey nicht mögen, verwenden Sie es nicht.

Ich finde es aber ziemlich gut. Bei der Arbeit haben wir viel internes
Schokoladenpakete für verschiedene Softwarepakete. Scheint gut zu funktionieren.

In jedem Fall ist dieses Problem speziell für die Neuimplementierung der Selbstaktualisierung in vorgesehen
Garn. Chocolatey wird nur verwendet, wenn Sie es ursprünglich verwendet haben! Wenn du
Wenn Sie das Installationsprogramm direkt verwenden, wird bei Upgrades auch das Installationsprogramm verwendet
direkt. Sie werden also nicht gezwungen, Chocolatey zu verwenden.

Von meinem Telefon gesendet.

Am Fr, 20. April 2018, 08:25 Uhr Benjamin Staneck [email protected]
schrieb:

Nein, tut mir leid, schokoladig ist einfach schrecklich.

- -
Sie erhalten dies, weil Sie erwähnt wurden.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/yarnpkg/yarn/issues/1139#issuecomment-382869380 oder stumm schalten
der Faden
https://github.com/notifications/unsubscribe-auth/AAFnHRZ-MoIxY2rwVGVHWCqXEPQRAlKHks5tqPKggaJpZM4KYOBW
.

Scoop ist eine Alternative zu Chocolatey und funktioniert ähnlich wie das Brauen.

Garn sagte mir nur, dass meine Garnversion veraltet sei und bat mich, auf die neueste Garnversion zu aktualisieren. Die Empfehlung - ein Curl & Bash-Befehl - macht mich jedoch etwas unbehaglich. Wäre dieser Befehl nicht effektiv der Ersatz für die Notwendigkeit, sich zu kräuseln und zu schlagen, um das Garn zu verbessern? Würde dieser Befehl als Haupt- und häufige Upgrade-Methode für Garn fungieren?

Dies ist eine ziemlich schlechte Erfahrung für neue Benutzer:

1) Ziehen Sie das offizielle und aktuelle LTS Docker-Image (10.12.1) für den Knoten, der Garn 1.10.1 enthält.
2) yarn import
3) yarn install sagt, dass die Version des Garns veraltet ist und empfiehlt einen Befehl curl | bash , der von Sysadmins und Entwicklerteams im Allgemeinen als schlechte Idee angesehen wird.
4) Suchen und führen Sie yarn self-update unter https://yarnpkg.com/de/docs/cli/self-update aus, das auf dieses Github-Problem verweist.
5) Vergiss, welches Problem mit npm mich überhaupt dazu gebracht hat, Garn zu probieren.

Es ist ein bisschen verrückt, wie das immer noch nicht behoben ist. Nach mehr als einem Jahr denke ich, dass meine Lösung ( hier ) immer noch die sauberste ist, die es gibt (obwohl sie langweilig und nervig ist).

Wir sollten zusammenarbeiten, um einen Befehl dafür zu erhalten! Die harte Arbeit des Installateurs ist bereits erledigt. Es geht darum, das Ersetzen zu verpacken und einen Garnbefehl auszuführen.

funktioniert immer noch nicht?!

Ich werde meine Lösung oben hier noch einmal zusammenfassen:

  1. Garn manuell entfernen

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

    Wenn Sie Folgendes in Ihrem .zshrc- oder .bash_profile haben, entfernen Sie es:

    export PATH="$PATH:`yarn global bin`"
    
  2. Installieren Sie das neueste Garn (über Locken).

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

    Stellen Sie sicher, dass sich in Ihrem .zshrc- oder .bash_profile die folgende Zeile befindet:

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

Führen Sie abschließend yarn -v , um Ihre neue Versionsnummer zu überprüfen.

Wenn jemand daran arbeiten möchte ... Wir haben bereits Code, der den Befehl festlegt, der ausgeführt werden muss, um Yarn zu aktualisieren:
https://github.com/yarnpkg/yarn/blob/master/src/cli/commands/install.js#L86 -L129

Sie müssen lediglich einen "Selbst-Upgrade" -Befehl hinzufügen, der den richtigen Befehl ausführt.

@ Daniel15 Ich habe eine Pull-Anfrage dazu eingereicht und freue mich auf ein Feedback. Vielen Dank.

Das funktioniert bei mir:

brew upgrade yarn
npm update yarn -g

Gibt es darüber irgendwelche Neuigkeiten? npm update yarn -g funktioniert in der Zwischenzeit, nehme ich an.

Gibt es darüber irgendwelche Neuigkeiten?

@crmpicco Im

Es scheint, dass yarn policies set-version [range] von @arcanis implementiert wurde und die neueste Version einstellen kann. Die Ergonomie des Befehls lässt jedoch nicht darauf schließen, dass eine neue Version von Yarn installiert wird - es funktioniert immer noch.

Mit yarn policies set-version nightly erhalten Sie den neuesten Build. PR:
https://github.com/yarnpkg/yarn/pull/6673

Ich bin mir nicht sicher, was das bedeuten würde, wenn Sie Garn deinstallieren möchten. :Denken:

In den Dokumenten finden Sie einen Abschnitt zum Upgrade von Garn: https://yarnpkg.com/de/docs/install

@ ilias-t Hier geht es nicht um die Aktualisierung, sondern um die Verwendung derselben Installationsmethode zum Aktualisieren.

Dieses Problem ist über 2 Jahre alt und scheint Ihnen egal zu sein. Entfernen Sie einfach den Befehl, er funktioniert nicht und ist irreführend.

Dieser Befehl existiert nicht, daher ist es schwierig, 🙂 zu entfernen

Meiner Meinung nach ist die ursprüngliche Absicht dieses Problems mit yarn policies set-version behoben. Falls es nicht wie erwartet funktioniert, können Sie gerne eine neue Ausgabe öffnen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen