Möchten Sie eine Funktion anfordern oder einen Fehler melden?
_Fehler_
Wie ist das aktuelle Verhalten?
➜ ~ yarn global add create-react-app
yarn global v0.15.1
warning No license field
[1/4] 🔍 Resolving packages...
[2/4] 🚚 Fetching packages...
warning [email protected]: The engine "rhino" appears to be invalid.
warning [email protected]: The engine "rhino" appears to be invalid.
[3/4] 🔗 Linking dependencies...
[4/4] 📃 Building fresh packages...
success Installed [email protected] with binaries:
- create-react-app
✨ Done in 8.43s.
➜ ~ which create-react-app
create-react-app not found
Was ist das erwartete Verhalten?
➜ ~ yarn global add create-react-app
yarn global v0.15.1
warning No license field
[1/4] 🔍 Resolving packages...
[2/4] 🚚 Fetching packages...
warning [email protected]: The engine "rhino" appears to be invalid.
warning [email protected]: The engine "rhino" appears to be invalid.
[3/4] 🔗 Linking dependencies...
[4/4] 📃 Building fresh packages...
success Installed [email protected] with binaries:
- create-react-app
✨ Done in 8.43s.
➜ ~ which create-react-app
/usr/local/bin/create-react-app
Bitte geben Sie Ihre node.js, Garn und Betriebssystemversion an.
➜ ~ system_profiler SPSoftwareDataType
Software:
System Software Overview:
System Version: macOS 10.12 (16A323)
Kernel Version: Darwin 16.0.0
Boot Volume: Macintosh HD
Boot Mode: Normal
Secure Virtual Memory: Enabled
System Integrity Protection: Enabled
➜ ~ node --version
v6.7.0
➜ ~ yarn --version
0.15.1
Das gleiche Verhalten hier auf dem gleichen System.
Nur eine Anmerkung, um zu verdeutlichen, dass dies nicht nur für die Erstellung-Reagieren-App gilt. mean-cli
zum Beispiel zeigt das gleiche Problem.
Habe dies auch auf Ubuntu 15.10 System
Führen Sie yarn global bin
und fügen Sie es Ihrem $PATH
.
Dies behebt es. Dies ist hier jedoch in keiner Weise dokumentiert: https://yarnpkg.com/en/docs/cli/global
(Ich meine ja, yarn global bin
ist dokumentiert, aber das Beispiel legt nicht nahe, dass das Hinzufügen zu Ihrem PFAD erforderlich ist.)
Auf meinem Computer gibt dies /usr/local/Cellar/node/6.7.0/bin
. Bedeutet dies, dass alle meine globalen Binärdateien an diese Knotenversion gebunden sind und ich sie bei einem Update neu installieren muss? Das scheint chaotisch, nicht wahr?
Eine andere Sache, die mir aufgefallen ist, ist, dass "$(yarn global bin)"
^[[2K^[[1G/usr/local/Cellar/node/6.7.0/bin
zurückgibt. Mache ich etwas falsch, wenn ich versuche, export="${PATH}:$(yarn global bin)"
zu meinen .zshrc
hinzuzufügen?
Es ist nicht AFAIK dokumentiert. Es sollte sein. Fühlen Sie sich frei, eine PR einzureichen.
Lesen Sie dies, um zu verstehen, warum der globale Pfad versionierungsspezifisch ist.
@wokalski Sind Sie sicher, dass Sie auf das richtige Problem verwiesen haben? Ich verstehe nicht einmal, warum das so ist ...
@Fahrradflucht sorry! Repariert.
Okay, verstanden!
Dann bleibt mir diese Frage:
Eine andere Sache, die mir aufgefallen ist, ist, dass "$ (Garn global bin)" ^ [[2K ^ [[1G / usr / local / Cellar / node / 6.7.0 / bin zurückgibt. Mache ich etwas falsch, wenn ich versuche, meiner .zshrc export = "$ {PATH}: $ (Garn global bin)" hinzuzufügen?
Ich würde eine neue Ausgabe einreichen, wenn ich sicherer wäre, dass ich keinen dummen Fehler gemacht habe 😁
@Fahrradflucht Es sind nicht nur Sie, ich habe das gleiche Problem unter MacOS mit einfachen alten Bash.
export PATH="/usr/local/Cellar/node/6.3.1/bin:$PATH"
funktioniert
export PATH="$(yarn global bin):$PATH"
Nicht. Ich habe eine Ausgabe geöffnet. https://github.com/yarnpkg/yarn/issues/851
yarn global bin
ist /usr/bin
auf meinem System. Ich möchte, dass es /usr/local/bin
, um mich vor Dauerwellenkopfschmerzen zu bewahren.
Jetzt, wo ich darüber nachdenke ... warum gibt yarn global bin
~/.yarn-cache/.global/node_modules/.bin/
?
@kaihendry Weil Yarn von Homebrew installiert wurde
Gleiche Probleme unter macOS
Yarn scheint keine Binärdateien in $(yarn global bin)
zu installieren, was, da ich nvm unter OSX verwende, /Users/username/.nvm/versions/node/v6.9.2/bin
Nachdem Sie yarn global add nodemon
es nirgends zu finden, und nichts in einer ausführlichen Installation scheint zu zeigen, dass Dateien in ein bin-Verzeichnis gestellt werden.
AKTUALISIEREN
yarn global remove nodemon
und yarn global add nodemon
behoben und richtig in $(yarn global bin)
. Immer noch nichts im ausführlichen Protokoll ...
genau das gleiche Problem wie bei @ c0bra angegeben.
Ich sehe einen Bericht, der in 0.20 RC behoben wurde. Kann jemand bitte überprüfen?
Ich bin gerade auf dieses Problem mit v0.20.0 gestoßen, habe es jedoch behoben, indem ich das Paket entfernt und erneut hinzugefügt habe, wie in @ c0bra erwähnt.
Arbeitet immer noch nicht für mich in v0.20.3:
$ cd $(yarn global bin)
$ ls
tern@ yarn@ yarnpkg@
$ yarn global add ember-cli
yarn global v0.20.3
warning No license field
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "[email protected]" with binaries:
- ember
warning No license field
Done in 3.81s.
$ cd $(yarn global bin)
$ ls
tern@ yarn@ yarnpkg@
Immer noch kaputt in 0.20.3
installiert über Homebrew unter MacOS.
Hatte heute das gleiche Problem (Homebrew-Installation, Garn v0.20.3). Es wurde festgestellt, dass ich vergessen habe, den Ordner bin in meinen PATH zu exportieren, bevor ich globale Pakete installiert habe. Ich habe es exportiert mit:
export PATH="$(yarn global bin):$PATH"
und dann Entfernen und erneutes Hinzufügen globaler Pakete, die die Binärdateien korrekt verknüpft haben. (Danke @ c0bra)
Für mich (macOS Sierra und Garn 0.21.3
über Homebrew) funktioniert dies jetzt für mich (wo es vorher nicht war). Musste yarn global remove -----
&& yarn global add ----
.
Ich habe das gleiche Problem mit @erizocosmico mit Yarn v0.21.3 (ich verwende nvm) festgestellt. Es wurde durch die folgenden Schritte behoben:
.zshrc
-Datei ein:export PATH="$(yarn global bin):$PATH"
yarn global remove [package-name]
dann yarn global add [package-name]
Das einzige Problem kann sein, dass das Paket tatsächlich in /usr/local/Cellar/node/7.7.1/bin
installiert ist, da bei der Installation von Yarn über Homebrew auch eine ausführbare Node-Datei unter dem Pfad von Homebrew installiert wird , was seltsam erscheint und möglicherweise mit nvm in Konflikt steht. Und da die .zshrc
-Datei unter dem Pfad von HOME ausgeführt wurde, wurde das globale Paket immer im bin-Ordner von Homebrew's Node installiert.
Die Korrekturen hier sind nur vorübergehend. Wenn ein neues Knotenupdate eintritt, funktionieren Ihre globalen Pakete nicht mehr und müssen erneut verknüpft werden. Vorerst für globale Pakete auf npm
umgestellt.
Auch wenn Sie globale Pakete über npm
installiert haben, werden yarn
diese nicht bemerken.
Wie ich das behoben habe:
$ yarn global remove ___
Stellen Sie sicher, dass NVM bezogen ist, bevor Sie Yarn zu Ihrem PATH
hinzufügen
# First...
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
# Then...
export PATH="$(yarn global bin):$PATH"
$ yarn global add ___
Bestätigen Sie den globalen Paketinstallationspfad
$ which ___
# Should give you...
/path/to/nvm/versions/v7.6.0/bin/___
Ich habe die oben vorgeschlagenen Lösungen ausprobiert und es hat bei mir nicht funktioniert.
Ich habe gesehen, dass dies durch die verschiedenen Arten der Garninstallation und die Position der Garnbinärdateien verursacht werden kann (in meinem Fall wurde das Garn mit apt-get
installiert und ist unter /usr/bin
verfügbar).
Der Fehler bei der Installation von Ember war:
$ yarn global add ember-cli
yarn global v0.21.3
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "[email protected]" with binaries:
- ember
error We don't have permissions to touch the file "/usr/bin/ember".
Achten Sie auf die letzte Zeile:
Garn hat versucht, den Glutbehälter in den Ordner (root) zu legen: /usr/bin
Zu diesem Zeitpunkt habe ich zwei Alternativen gefunden:
sudo yarn global add ember-cli
sudo
funktioniert, da dann Garn in /usr/bin
yarn/global/node_modules/.bin
in den $ PATH legen; Fügen Sie beispielsweise am Ende Ihrer .(whatever)rc
-Datei Folgendes hinzu:export PATH=$PATH:$GOBIN:~/.config/yarn/global/node_modules/.bin/
$PATH
verfügbarDas hat bei mir funktioniert!
Hier dasselbe:
yarn --version
0.21.3
yarn global add mocha
success Installed "[email protected]" with binaries: [..]
$ mocha
-bash: mocha: command not found
Habe es funktioniert mit:
npm install --global mocha
Ein Upgrade mit Homebrew verursacht ein weiteres Problem, da mit Garn installierte Behälter nicht verschoben werden. Das hatte ich:
$ yarn global bin
/usr/local/Cellar/node/7.4.0/bin
$ ls $(yarn global bin)
bower ember node phantomjs
jetzt upgraden:
$ brew update && brew upgrade
und jetzt das:
$ yarn global bin
/usr/local/Cellar/node/7.8.0/bin
$ ls $(yarn global bin)
node
Glut rufen:
$ ember
-bash: ember: command not found
Binärdateien sind weg, müssen manuell verschoben werden 😦
Mac OS X
zsh --version
zsh 5.3.1 (x86_64-apple-darwin15.6.0)
nvm --version
0.33.1
node --version
v7.8.0
npm --version
4.2.0
yarn --version
0.22.0
Ich habe versucht zu setzen:
export PATH="$(yarn global bin):$PATH"
in meiner .zshrc-Datei wie oben vorgeschlagen ... mein Terminal neu gestartet, passiert nichts. Ich habe sogar meine Maschine neu gestartet. Nichts passiert.
Ich habe versucht, das folgende Code-Snippet in meine .zshrc-Datei einzugeben:
export PATH="$PATH:
Garn global bin "
Das wird auf https://yarnpkg.com/de/docs/install#mac -tab vorgeschlagen, aber es passiert immer noch nichts.
Irgendwelche anderen Vorschläge? :) :)
Ich habe meine ausführbare Datei ember
nach dem Upgrade auf Garn v0.22.0 verloren:
$ brew update && brew upgrade
Das Entfernen und erneute Hinzufügen löste jedoch das Problem für mich:
$ yarn global remove ember-cli
$ yarn global add ember-cli
Ja, das ist die Problemumgehung. Aber wir sollten einen Weg finden, um Dinge einfach zu aktualisieren und in ein neues Verzeichnis zu verschieben, wenn Knoten aktualisiert werden.
Warum gibt es keine Liste für globale Pakete? Gibt es einen Grund, warum wir nicht .yarnrc.json
oder .package.json
oder so haben und dort eine normale Paketdatei mit einer Liste von Abhängigkeiten haben, in der die globalen Pakete installiert werden?
Wenn ich yarn global bin
ausführe, ist der Fehler aufgetreten: No such file or directory: 'global'
, ich bin nicht sicher, was schief geht.
Garn - Version # 0.22
yarn global remove typescript && yarn global add typescript
Problem für mich behoben.
OSX: El Capitan.
Knoten: 4.7.2 (bis n)
Derzeit tritt dies nach einem Upgrade von 0.17
auf 0.22
. Das hier vorgeschlagene
Mac OS X
zsh --version
zsh 5.3.1 (x86_64-apple-darwin15.6.0)
nvm --version
0.33.1
node --version
v7.9.0
npm --version
4.2.0
yarn --version
0.23.2
Ich habe versucht, diese Codefragmente in mein .zshrc-Profil einzufügen -> 1, 2 & 3.
export PATH="$(yarn global bin):$PATH"
Laut https://yarnpkg.com/de/docs/install
export PATH="$PATH:
Garn global bin "
Ich habe versucht, nichts von den Codesnippets in meiner .zshrc zu haben.
Ich habe mein Terminal neu gestartet, nichts passiert.
Ich habe sogar meine Maschine neu gestartet. Immer noch nichts.
Ich hatte das gleiche Problem und dies war meine Lösung:
brew
installiertyarn global add ...
wird nicht auf dem von yarn global bin
Pfad installiert, der in meinem Fall /usr/local/Cellar/node/7.9.0/bin
yarn global add ...
die Pakete installieren, ist ~/.config/yarn/global/node_modules/.bin
export PATH="$PATH:$HOME/.config/yarn/global/node_modules/.bin"
Mac OS 10.12.4 (16E195)
zsh --version
zsh 5.3.1 (x86_64-apple-darwin16.3.0)
node --version
v7.9.0
yarn --version
0.23.2
brew --version
Homebrew 1.1.12
Homebrew/homebrew-core (git revision a29be4; last commit 2017-04-14)
Ich habe ein ähnliches Problem. Die Ausgabe von yarn global bin
ist /usr/local/bin
. Die globale Installation von gulp-cli ohne sudo ( yarn global add gulp-cli
) ergibt error We don't have permissions to touch the file "/usr/local/bin/gulp"
. Die globale Installation mit sudo ( sudo yarn global add gulp-cli
) ist erfolgreich, aber die Ausführung von gulp
gibt bash: gulp: command not found
.
Ebenfalls sehr eigenartig: Das Ausführen von sudo gulp
erfolgreich (wenn Sie etwas falsch mit den Dauerwellen erraten, in /usr/local/bin
und ./gulp
ausführen, wird die Berechtigung verweigert, aber das Ausführen mit sudo funktioniert), das Ausführen von yarn global ls
oder sudo yarn global ls
Ausgaben
yarn global v0.22.0
warning No license field
Done in 0.26s.
Ich verwende Arch Linux mit npm 4.5.0, Garn 0.22.0 und Node v7.7.3.
Und ja, /usr/local/bin
ist offensichtlich sowohl für meinen Benutzer als auch für den Root-Benutzer auf meinem Weg.
EDIT (Root- und Benutzerpfade):
[steventheevil@Steven-PC Downloads]$ su
Password:
[root@Steven-PC Downloads]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/ruby/gems/2.4.0/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/steventheevil/.gem/ruby/2.4.0/bin
[root@Steven-PC Downloads]# exit
exit
[steventheevil@Steven-PC Downloads]$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/ruby/gems/2.4.0/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/steventheevil/.gem/ruby/2.4.0/bin
Gleiches gilt für ArchLinux.
In meinem Fall wurde das Paket yo
(und andere) auf /home/agilob/.config/yarn/global/node_modules/yo/lib
installiert. Ich versuche, Jhipster zu verwenden, aber yanr behauptet, dass es /usr/bin
, um Pakete zu installieren:
$ yarn global bin
/usr/bin
Es hat nicht einmal die Berechtigung, dort Dateien zu erstellen.
Befehl ausführen:
/home/agilob/.config/yarn/global/node_modules/yo/lib/cli.js jhipster
hat richtig funktioniert.
Danke @bcessa , ich $HOME/.config/yarn/global/node_modules/.bin
wie erwartet.
Ich sehe auch, dass der Pfad global bin
nicht synchron ist:
$ which node
/usr/local/bin/node
$ node --version
v6.10.2
$ which yarn
/Users/jdub/.yarn/bin/yarn
$ yarn --version
0.23.2
$ yarn global bin
/usr/local/bin
# But yarn global add installs to ~/.config/yarn/global, so I've added it to my path, e.g.
$ which testim
/Users/jdub/.config/yarn/global/node_modules/.bin/testim
@OmgImAlexis Ich
Alles gut, immer noch schön, einen Ref zwischen den Problemen zu haben, falls ein einziges Commit beide Probleme behebt. 👍
Erleben Sie dies auch mit Garn 0,22 auf Himbeere 😃
Die global installierten Pakete wie CRA, eslint usw. funktionieren nur für mich.
aber yarn global ls
zeigt nichts als getan
Dieses Problem tritt auch auf, wenn der Knoten von nvm installiert wird. Ich glaube nicht, dass er Homebrew-spezifisch ist.
$(yarn global bin)
ist bereits auf meinem Weg, aber zum Beispiel:
> nvm install 6.10.2
> npm install -g yarn
> which yarn
~/.nvm/versions/node/v6.10.2/bin/yarn
> yarn global bin
~/.nvm/versions/node/v6.10.2/bin
> yarn global add yo
> ls ~/.nvm/versions/node/v6.10.2/bin
node npm yarn yarnpkg
In diesem Beispiel generiert yarn global add yo
nicht die Binärdatei yo
im Bin-Pfad.
Hier habe ich einige Tests hinzugefügt: https://github.com/yarnpkg/yarn/pull/3238 und für mich ist dies geschlossen. Es gibt einige Eckfälle, aber es gibt andere Probleme.
@bestander
Garn installiert von Garn-0.23.4.msi, Plattform: Windows 10, MinGW.
Mein globaler Befehl funktioniert nicht nach dem globalen Hinzufügen von Garn * .
Es scheint, dass Garn globale Pakete speichert in:
%USERPROFILE%\AppData\Local\Yarn\config\global\node_modules\.bin
Der globale Befehl funktioniert, nachdem er dem Systempfad hinzugefügt wurde.
Ich stoße auch auf dieses Problem mit nvm.
Gleiches Problem dort:
sharikovvlad:global svlad$ node -v
v7.10.0
sharikovvlad:global svlad$ yarn --version
0.24.4
sharikovvlad:global svlad$ sw_vers -productVersion
10.12.4
# macOS Sierra 10.12.4
Ich habe Garn mit Brew Package Manager installiert.
Ich habe das Problem offensichtlich behoben, indem ich dies zu .bash_profile
hinzugefügt habe:
export PATH="$(yarn global bin):$PATH"sharikovvlad:~ svlad$
Aber offensichtlich werden alle Pakete nach der Knotenaktualisierung beschädigt.
Ich habe versucht, global add ios-deploy zu fädeln. Die Binärdatei befindet sich in ~ / .config / yarn / global / node_modules / ios-deploy / build / Release /, jedoch nicht in / usr / local / bin oder einem anderen Speicherort im PATH.
Gleiches Problem in Node v7.8.0 und Yarn Version v24.6 ... Ich habe auch versucht, das Flag --prefix
verwenden
yarn global add prettier --prefix /Users/newuser/.nvm/versions/node/v7.8.0/
Es funktioniert nicht.
Ich bin mir nicht sicher, warum dieses Problem geschlossen ist, wenn die Leute immer noch Probleme haben, herauszufinden, wo das verdammte Garn Binärdateien ablegt, sie scheinbar in einem oder mehreren Ordnern (.config und .npm) installieren, aber auf einen anderen (Keller) zeigen. & wenn die Garn-Website dieses Problem nicht klar mit Empfehlungen zur Klarheit dokumentiert hat.
Ich kann meinen Atom-Editor nicht dazu bringen, meinen von Garn installierten globalen Eslint zu finden und zu verwenden.
Ich habe es geschafft, das zu umgehen. Das Problem scheint zu sein, dass sich die Homebrew-Version von Node später als die NVM-Installation zum PATH hinzufügt. Nachdem ich das herausgefunden hatte, war alles, was ich tat, die Deinstallation des installierten Node Homebrew, und es funktionierte.
@volkanunsal Ich bin nicht sicher, ob ich verstehe, was du meinst
Entschuldigung, ich meinte in meinem Fall, dass das Problem war, dass ich auch einen anderen hatte
Installation von Node. Der Pfad dieser Installation wurde nach dem NVM hinzugefügt
Installation, und so hatte Vorrang. Dort wurde Garn gelegt
die globalen Pakete, aber es war nicht der Knoten, den ich benutzte, also meine Befehle dazu
Das Paket, das ich mit Garn Global installiert habe, ist fehlgeschlagen. Das kann nicht das sein
das gleiche Problem in Ihrem Fall, aber ich dachte, es wäre erwähnenswert. Wenn da
Bei mehreren Installationen von Node verwendet Yarn diejenige, deren Pfad lautet
Zuletzt zum PATH Ihres Computers hinzugefügt.
Für mich durch Festlegen des Garnpräfixes behoben und alle Module neu installiert
yarn config set prefix $(npm config get prefix)
Beim Wechseln der Knotenversionen über nvm wird mein yarn global bin
nicht aktualisiert, was ebenfalls die Hauptursache für das Problem zu sein scheint.
AKTUALISIEREN:
Auch nach dem manuellen Beheben eines falschen yarn global bin
durch Entfernen des Ordners ~/.yarn
und erneutes Installieren.
yarn global add appium
immer noch nichts im globalen Ordner bin. Diese Funktion scheint völlig kaputt zu sein ...
Die hier diskutierte Auflösung scheint das Problem zu beheben. Fügen Sie dies zu .bash_profile
export PATH="$PATH:$HOME/.config/yarn/global/node_modules/.bin"
Nein nicht wirklich. Dies funktioniert in Situationen, in denen Sie Zugriff auf Ihre .bash_profile
. Die meisten Programme selbst haben dies nicht (führen Sie npm test
und Ihre package.json verwendet eine Binärdatei, die global mit Garn installiert ist. Sie haben kein Glück). Wenn Sie etwas global installieren, sollte es sofort ohne weitere Konfiguration verfügbar sein. Es ist in Ordnung, wenn die Binärdateien irgendwo auf der Festplatte in einem garnspezifischen Ordner installiert sind, solange ein Symlink zu /usr/lobal/bin
.
Meine Testfälle für diesen Befehl wären (Unix-ähnliche Systeme):
/usr/local/bin
.path/to/yarn/vX.Y.Z/packages/...
) sicher, dass die Symlinks weiterhin funktionierenÄhnliches Verhalten wie bei Homebrew.
Dies ist ein großes Problem, wenn Sie versuchen, Garn in einem Docker-Container zu verwenden.
@gossi , dies ist kein Problem mit einer einfachen Lösung.
Unter vielen Betriebssystemen ist / usr / local / bin nicht verfügbar. Möglicherweise benötigen Sie Root-Zugriff. Ein einzelner Speicherort reicht möglicherweise nicht aus, wenn Sie mehrere Versionen von Node (nvm) verwenden.
Fühlen Sie sich frei, eine ideale Lösung vorzuschlagen.
@bestander ok, beschränken wir uns auf Plattformen, auf denen /usr/local/bin
verfügbar ist;)
Nvm ist ein weiteres Problem, das diesem untergeordnet werden sollte, um Hand in Hand miteinander zu spielen.
@bestander Wie löst NPM dieses Problem? Ist ihre Lösung anwendbar?
Gibt es jemanden da draußen, der sich mit all diesen globalen Bin-Pfaden über das Betriebssystem hinweg beschäftigen möchte?
Fühlen Sie sich frei, eine neue Ausgabe zu starten und PRs zu senden.
Der Code, der globale Bins aktualisiert, ist hier https://github.com/yarnpkg/yarn/blob/master/src/cli/commands/global.js#L72 und sieht recht einfach aus.
Ich denke, wir können hier eine großartige Benutzererfahrung machen, aber wir brauchen Hilfe.
@bestander Ich denke, das Problem ist in der updateCwd
sende eine PR :)
https://github.com/yarnpkg/yarn/pull/3458 - auch etwas verwandt
Ich habe immer noch dieses Problem :(
@JikkuJose Ich yarn global add prettier
. Prettier wird unter dem Pfad .config/yarn/global/node_modules
installiert.
Ich habe yarn global bin
zu meinem $PATH
hinzugefügt (auf meinem System sind das /usr/local/bin
), aber das ist nicht hilfreich, wenn dort keine Dinge installiert werden.
Garnversion: 0.27.5
Knotenversion: v6.11.1
Ich verwende den folgenden Befehl, um Gulp zu installieren:
$ yarn global add gulp
Aber das zeigt mir nichts:
$ ls -lah `yarn global bin` | grep gulp
$ cat /etc/issue
Ubuntu 17.04 \n \l
$ uname -a
Linux intrepid 4.10.0-28-generic #32-Ubuntu SMP Fri Jun 30 05:32:18 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$ node --version
v8.1.3
$ nvm --version
0.33.2
Wie ist das noch ein Problem? npm leidet nicht darunter.
nur sagen.
Ich habe nur deswegen aufgehört, Garn zu verwenden. : /: /
War gut bis Garn 1.1.0, jetzt sind meine Globals nicht gefunden
success Installed "[email protected]" with binaries:
- bower
✨ Done in 10.40s.
$ bower
fish: Unknown command 'bower'
$ uname -a
Darwin wpa-25-242.dyn.huji.ac.il 16.3.0 Darwin Kernel Version 16.3.0: Thu Nov 17 20:23:58 P
ST 2016; root:xnu-3789.31.2~1/RELEASE_X86_64 x86_64
@hookdump @Spongman @bennypowers Wie Sie sehen können, ist dieses Problem geschlossen. Es wäre großartig, wenn Sie ein neues Problem mit Reproduktionsschritten und einigen Details zu Ihrer Systemkonfiguration einreichen könnten (wie Sie dies als Root-Benutzer versuchen, welche Ordnergarne standardmäßig schreibgeschützt sind usw.), die jemand reproduzieren und starten kann arbeiten daran.
Dieser Jemand kann auch Sie sein, wenn Sie interessiert sind!
Und dann bitte hier verlinken, denn dort hat Google alle hingeschickt.
Vielleicht haben @hookdump , @Spongman oder @bennypowers das gleiche Problem wie ich? https://github.com/yarnpkg/yarn/issues/4702 ?
Warum ist das Problem nahe, wenn es immer noch auftritt?
@yordis benutzt du zsh
?
In diesem Fall hängt das Problem Nr. 4702 möglicherweise mit Ihrem Problem zusammen
Wenn Ihre PATH-Umgebung nicht richtig eingestellt ist, müssen Sie dies beheben. Führen Sie yarn global bin
und echo $PATH
, um das gelöste Problem zu untersuchen
sollte nicht geschlossen werden. habe noch das Problem.
@ lili21 bitte eine neue Ausgabe
Ich habe das gleiche Problem mit zsh. yarn global bin
gibt /home/dandv/.yarn/bin
, was nicht in $ PATH enthalten ist.
~ yarn global add polymer-cli
yarn global v1.3.2
[1/4] Resolving packages...
warning polymer-cli > [email protected]: ...psst! Your project can stop working at any moment because its dependencies can change. Prevent this by migrating to Yarn: https://bower.io/blog/2017/how-to-migrate-away-from-bower/
warning polymer-cli > [email protected]: 🙌 Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update!
warning polymer-cli > polyserve > @types/[email protected]: See https://github.com/DefinitelyTyped/DefinitelyTyped/issues/12826
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "[email protected]" with binaries:
- polymer
Done in 25.08s.
➜ 19:17 polymer
zsh: command not found: polymer
➜ 19:17 polymer-cli init
zsh: command not found: polymer-cli
➜ 19:17 yarn --version
1.3.2
Wie ist das noch ein Problem? npm leidet nicht darunter.
Dann herausfinden, wie npm damit umgeht, und eine Pull-Anfrage senden?
Der Besitzer der einzigen Antwort dieses Repos auf diesen riesigen Faden von Beschwerden über dieses Problem ist der uralte Schrei von OSS-Qualitätsfehlern überall: "Reparieren Sie es selbst"?
Open-Source-Projekte sind Community-Projekte. Yarn wird nicht nur von Entwicklern bei Facebook entwickelt, sondern auch von einer breiteren Open-Source-Community. Ich arbeite bei Facebook, aber das hängt nicht wirklich mit meinen Beiträgen zu Yarn zusammen, da ich im Allgemeinen außerhalb der Arbeitszeit daran gearbeitet habe.
Ich bin es einfach leid, dass Leute denken, dass sie etwas von der Community schulden, ohne etwas zurückzugeben. Einige Open-Source-Entwickler deaktivieren aus diesem Grund jetzt den Abschnitt "Probleme" ihrer GitHub-Repos. Insbesondere bei Projekten mit einem kleinen Entwicklerteam ist der Versuch, an jedem einzelnen Problem zu arbeiten, ein einfacher Weg, um auszubrennen. Die Lizenz, der Sie bei der Installation von Software zustimmen, die unter der BSD- oder MIT-Lizenz (einschließlich Yarn) lizenziert ist, legt ausdrücklich fest, dass die Software unverändert ohne Garantie und ohne Garantie für die Eignung für einen bestimmten Zweck bereitgestellt wird.
Wir haben ein Sprichwort bei Facebook: "Code gewinnt Argumente". Nehmen Sie sich Zeit, um das Problem zu beheben, anstatt sich über etwas zu beschweren. Es ist eine produktivere Nutzung der Zeit. Das ist der gesamte Geist von Open Source: Eine Gemeinschaft von Menschen, die zu einem gemeinsamen Ziel beitragen.
Was dieses Problem betrifft, scheint es mir nur so, als ob das ausführbare Verzeichnis von Yarn im $PATH
Leute fehlt. Das Installationsprogramm teilt Ihnen ausdrücklich mit, wie Sie es Ihrem Pfad hinzufügen sollen, und das Windows-Installationsprogramm erledigt dies automatisch für Sie (wir sollten dies wahrscheinlich auch im Debian-Paket tun). Der Grund, warum ich vorgeschlagen habe, zu überprüfen, was npm tut, ist, dass sie möglicherweise $PATH
automatisch bearbeiten. Jemand müsste diese Untersuchung durchführen und sehen, was sie tun. Jeder kann es tun.
Ich bin auch gerade auf dieses Problem gestoßen. Das erste Mal Garn + Paket ausprobiert und es hat aus diesem Grund nicht "nur funktioniert".
Warum ist dieses Problem geschlossen, wenn es noch passiert? Ich habe 2 Wochen Zeit für Garn und gerade heute bin ich auf globale Pakete gestoßen, und sie funktionieren nicht gut mit NVM. Außerdem habe ich Garn Config Set Prefix und --prefix gemacht und es hat nicht funktioniert, es wird weiterhin in das globale Standardpräfix installiert ...
Vielleicht werde ich versuchen, es in ein paar Tagen mehr zu beheben ...
Bin auf dieses Problem gestoßen, wie jeder über mir. Meine Erwartung war, dass _yarn_ Pakete am selben Speicherort wie _npm_ installieren würde, wenn das Flag -global
verwendet wird.
Gibt es Gründe oder Szenarien, in denen dies nicht die beste oder Standardlösung wäre?
npm root -g
oder npm config get prefix
zeigt den Speicherort global installierter Module an.IMO Ich denke, wir sollten erwägen, das Standardverhalten von yarn global
zu ändern, dass es am selben Speicherort wie das globale Präfix von _npm_ installiert wird .
Das ist in der Tat eine vernünftige Idee.
Vor kurzem hatte ich ein Problem mit globalen Pfaden unter Linux und es war schwierig
um den Pfad zu finden, den ich zu PATH hinzufügen musste.
Die Nachteile sind, dass dies eine bahnbrechende Veränderung für Menschen sein kann, die bereits haben
Richten Sie ihre Garnwege ein.
In einigen Fällen ist der globale Standard-npm-Bin / usr / local / bin oder so und so
wird impliziert, um es mit sudo zu verwenden, was nicht der Ansatz des Garns ist.
Ich frage mich, ob der Befehl 'yarn global add' nur prüfen könnte, ob der installierte Behälter vorhanden ist
Standort ist in PATH und drucken Sie eine Warnung, wenn dies nicht der Fall ist?
Würde es die Dinge glätten?
Am Freitag, 5. Januar 2018, um 05:12 Uhr schrieb Mark Drake [email protected] :
Bin auf dieses Problem gestoßen, wie jeder über mir. Meine Erwartung war das
Garn würde Pakete an derselben Stelle installieren wie npm .
bei Verwendung der globalen Flagge.Gibt es Gründe oder Szenarien, in denen dies nicht die beste wäre oder
Standardlösung?
- Die Leute können dies tatsächlich auf etwas anderes als die Standardeinstellung einstellen (I.
tun).- Dieser Pfad befindet sich höchstwahrscheinlich bereits in unseren Umgebungsvariablen.
(Nachdem dies als allererster Schritt nach jeder npm behoben wurde
auf einem Windows-Computer installieren.)- Ein einfaches Präfix für npm root -g oder npm config get gibt den Speicherort an
von global installierten Modulen.IMO Ich denke, wir sollten erwägen, das Standardverhalten von Garn zu ändernglobal, um am selben Speicherort wie das globale Präfix von npm installiert zu werden .
- -
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/648#issuecomment-355551314 oder stumm schalten
der Faden
https://github.com/notifications/unsubscribe-auth/ACBdWMvBOVNFKloPPFBzpar60Gu0Qpbrks5tHh-egaJpZM4KT3-H
.
Ich frage mich, ob der Befehl 'yarn global add' nur überprüfen könnte, ob sich der installierte Bin-Speicherort in PATH befindet, und eine Warnung drucken könnte, wenn dies nicht der Fall ist.
Ich liebe diese Idee. Alles andere wäre eine bahnbrechende Änderung, die wir in der Version 1.0 vorgenommen haben, und ich denke nicht, dass es eine gute Idee ist, dies wieder zu ändern, es sei denn, es gibt andere Gründe. Es gab eine sehr lange Diskussion darüber in https://github.com/yarnpkg/yarn/pull/3721 und verweist auf Probleme und PRs.
Ein einfaches Präfix für npm root -g oder npm config get zeigt den Speicherort global installierter Module an.
Garn hat yarn global dir
als Äquivalent.
Wenn Sie feststellen, dass Binärdateien in Typoskript nicht installiert sind und @angular/cli
installiert ist, entfernen Sie es einfach und versuchen Sie erneut, Typoskript zu installieren. Das hat bei mir funktioniert.
Seltsam? Absolut!
@Fahrradflucht, absolut wahr Es ist seltsam , warum die Dokumente nicht schlagen den Fadenweg die Umgebung des $ PATH hinzuzufügen.
Mit Ubuntu 17.10 löste folgendes das Problem für mich:
$ echo export PATH = \ $ PATH: $ (Garn global bin) >> ~ / .profile
$ source ~ / .profile
@DavidNorena Die Dokumente erwähnen dies tatsächlich, aber da dies ein Einrichtungsschritt ist, befindet es sich auf der Installationsseite. Selbst dann ist es noch nicht ganz klar, wie auf der Registerkarte "Linux" auf der Installationsseite https://yarnpkg.com/de/docs/install. Der Abschnitt " Path Setup " folgt den Anweisungen für jede Linux-Distribution. Ich kann mir vorstellen, dass die meisten Leute Ubuntu verwenden (das steht an erster Stelle in der Liste) und scrollen Sie daher niemals die Seite nach unten und sehen Sie niemals den zusätzlichen Einrichtungsschritt.
Aber es ist immer noch nicht klar, ich wusste nicht, dass es einen Abschnitt PATH SETUP gibt. Ich habe nur die Schritte für meine Linux Box-Version befolgt, aber es gab keinen Hinweis darauf, ob ich zum Seitenende gehen soll oder nicht.
Vielen Dank an @jthegedus und das nächste Mal werde ich alle Abschnitte in den Dokumenten durchsehen, niemand weiß es. : D.
Nachdem ich mich wiederholt mit diesem Problem befasst hatte, fand ich endlich eine Lösung für mein Szenario, die ich teilen wollte, falls es jemandem hilft.
Als Referenz bin ich unter MacOS (_Sierra_) und benutze zsh (und _oh-my-zsh_ installiert mit _Homebrew_), NVM (_0.33.8_ installiert über _Homebrew_ _-- ohne Knoten_)
Yarn des globalen bin wurde auf /users/MyUserName/usr/local/bin
und zsh würde Garnspulen nicht erkennen installiert global , da dies in meinem PATH nicht. Während ich meine Benutzer Pfad hinzugefügt haben könnte, entschied ich mich stattdessen auf meine Yarn globale bin setzen Sie die verwenden /usr/local/bin
, die bereits in PATH war , die gearbeitet und wird nicht brechen , wenn Versionen von Knoten mit NVM wechseln.
Ich habe ein ähnliches Problem speziell bei einer globalen Installation von typescript
.
Beim Ausführen von yarn global bin
Ausgaben /usr/local/bin
und allen anderen globalen Paketen werden die Binärdateien wie erwartet zu /usr/local/bin
hinzugefügt (symlinked).
Wenn ich yarn global add typescript
ausführe, lautet die Ausgabe:
[1/4] 🔍 Resolving packages...
[2/4] 🚚 Fetching packages...
[3/4] 🔗 Linking dependencies...
[4/4] 📃 Building fresh packages...
success Installed "[email protected]" with binaries:
- tsc
- tsserver
✨ Done in 4.89s.
Der Versuch, tsc
oder tsserver
Befehle auszuführen, führt zu command not found: tsc
.
Ein Blick unter /usr/local/bin
zeigt weder tsc
noch tsserver
Binärdateien.
npm
(getestet v5.6.0
)yarn v1.5.1
, macOS 10.13.3
@Nexxado Ich habe Ihre Schritte wie beschrieben befolgt und die gleichen Nachrichten von Yarn erhalten. Die Pakete wurden jedoch wie erwartet installiert und erscheinen in /usr/local/bin
. Wenn Sie tsc -v
eingeben, wird Version 2.8.1
.
Ich verwende nvm
und node version 9.6.1
mit npm 5.6.0
.
Hatten Sie zuvor versucht, dies zu installieren, und wenn ja, konnten Sie überprüfen, ob es entfernt wurde? Ich hatte Probleme mit bestimmten Paketen, die ich mit früheren Versionen von npm
oder homebrew
installiert hatte, die globale Installationen über Yarn störten.
@ SiriusBits
Hatten Sie zuvor versucht, dies zu installieren, und wenn ja, konnten Sie überprüfen, ob es entfernt wurde? Ich hatte Probleme mit bestimmten Paketen, die ich mit früheren Versionen von npm oder Homebrew installiert hatte und die globale Installationen über Yarn störten.
Das ist möglich, ich erinnere mich nicht, ob ich es getan habe.
Ich verwende nvm
mit node v8.9.3
und npm 5.6.0
.
Konnten Sie die "bestimmten Pakete" reparieren, über die Sie gesprochen haben?
Danke im Voraus :)
@Nexxado habe ich getan. Ich hatte Gulp CLI, die mit npm
installiert wurde, und konnte die globale Installation mit Yarn nicht zum Laufen bringen. Nachdem ich es entfernt und mit Yarn neu installiert hatte, funktionierte es.
Ich habe Node mit asdf-nodejs
installiert und habe das gleiche Problem mit Garn 1.6.0 in macOS
Diese Zeile in der .zshrc-Datei hinzugefügt, löste das Problem.
export PATH=/Users/rods/.asdf/installs/nodejs/8.9.4/.npm/bin:$PATH
Warum ist dieses Problem geschlossen? Ich habe das gleiche Problem unter Linux
@jthegedus @DavidNorena Möchten Sie die Dokumente verbessern, damit andere davon profitieren können?
@BYK Ich werde dieses Problem in der PR verknüpfen, die ich diese Woche erstelle: +1:
Vor dem gleichen Problem in Fenster 10.
yarn global dir
und yarn global bin
befinden sich beide in% PATH%, es sind jedoch keine Binärdateien installiert.
Das Entfernen und erneute Hinzufügen eines Pakets hat nicht geholfen.
Garn 1.7.0
Node.js 10.3.0
Hier gilt das gleiche.
Immer noch kaputt in 1.10.1:
$ yarn global add typescript
yarn global v1.10.1
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.47s.
$ yarn global bin
C:\Users\mikem\AppData\Local\Yarn\bin
$ yarn global list
yarn global v1.10.1
Done in 0.14s.
Ich sehe ppl Pfad zu .bashrc hinzufügen
export PATH="$(yarn global bin):$PATH"
export PATH = "$ (Garn global bin): $ PATH"
NB, schön, 666
Gleicher Fehler. Installierter Aufschlag mit yarn global add serve
. Danach schlägt der Startaufschlag fehl: "Aufschlag: Befehl nicht gefunden". Das manuelle Aktualisieren von PATH hat mir nicht geholfen. Ich habe Serve mit npm installiert und jetzt funktioniert es. Wirklich seltsam, dass dieses Problem älter als 2 Jahre ist und immer noch nicht behoben ist.
--Edit-- Gelöst. Ansicht # 648
Immer noch vor diesem Problem. Auf Fedora installiertes Garn, verwende nvm zum Verwalten von Knotenversionen. Mops global in Garn installiert. Laufender Mops zurückgegebener Befehl nicht gefunden. Bei der Installation von pug-cli mit npm wird der Befehl ausgeführt.
Hilft https://github.com/yarnpkg/yarn/issues/648#issuecomment -428473725 nicht?
Hilft # 648 (Kommentar) nicht?
Mein Fehler. Das löst das Problem.
Ich habe das Problem mit NVM in einem Docker-Container, der ein CentOS-Image abruft. Es ist kein Problem, wenn der Pfad falsch ist. Ich habe das ganze Bild durchforstet. Meine globalen Installationen werden absolut nirgendwo installiert. Es scheint bei Schritt 1/4, dem Auflösen von Paketen, fehlzuschlagen.
export PATH="$(yarn global bin):$PATH"
Funktioniert für mich unter Ubuntu.
sudo yarn global add ignite-cli
Hat für mich gearbeitet
Ich kann nicht an /usr/local/bin
schreiben, da sudo
Berechtigungen fehlen:
$ yarn global add create-react-app
yarn global v1.21.1
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "[email protected]" with binaries:
- create-react-app
error Cannot create "/usr/local/bin/create-react-app" due to insufficient permissions.
info Visit https://yarnpkg.com/en/docs/cli/global for documentation about this command.
/usr/local/bin
ist in PATH
, ~/.config/yarn/global/node_modules/.bin/
ist in PATH
aber weder yarn global
noch yarn create
werden.
Bitte versuchen Sie, auf Garn 1.22.4 @hoefling zu aktualisieren. Dies kann auch ein Problem mit Ihrem Setup sein. Wie haben Sie Garn installiert?
@ DanielRuf danke für deine Antwort! Ich habe 1.22.4
vom Systemadministrator installiert:
$ dnf info yarn
Yarn Repository 346 kB/s | 363 kB 00:01
Installed Packages
Name : yarn
Version : 1.22.4
Release : 1
Architecture : noarch
Size : 5.1 M
Source : yarn-1.22.4-1.src.rpm
Repository : <strong i="8">@System</strong>
From repo : yarn
Summary : Fast, reliable, and secure dependency management.
URL : https://yarnpkg.com/
License : BSD
Description : Fast, reliable, and secure dependency management.
...
Es sieht so aus, als ob das Paket aus dem eigenen Repo von yarn
stammt.
yarn global v1.21.1
In Ihrer letzten Antwort war es 1.21.1.
Passiert das noch? Ich schlage vor, ein neues Problem zu eröffnen und die anderen Probleme auf Lösungen zu prüfen.
@ DanielRuf Sie haben Recht, ich habe versucht, eine lokale Kopie von yarn
einzurichten und ein Downgrade durchzuführen , um festzustellen, ob es sich um eine Regression handelt. Leider ist der Fehler auch mit 1.22.4
reproduzierbar. Öffnet ein neues Problem, wenn ich selbst keine Lösung finde.
Hilfreichster Kommentar
Führen Sie
yarn global bin
und fügen Sie es Ihrem$PATH
.