Mit einem Lob an alle Antworten, die darauf hindeuten, das Ubuntu- yarnPaket zu entfernen und Yarn über NPM zu installieren, finden Sie hier eine ausführliche Antwort mit Erläuterungen (und, seien Sie gewarnt, Meinungen):
Der Grund für den No such file or directoryFehler von yarn installist, dass Sie nicht das "richtige" Garn verwenden: Die Software, die Sie bei der Installation yarnmit den Ubuntu-Softwarequellen erhalten, ist das "Garn" -Szenario-Testtool aus der cmdtest-Blackbox-Testsuite . Dies ist wahrscheinlich nicht das, was Sie gemeint haben, da Garn auch ein beliebtes Entwicklungs-Lebenszyklus-Tool für Javascript-Anwendungen ist (ähnlich wie Make, Maven und Freunde).
Das Javascript Yarn-Tool ist nicht in Ubuntu-Softwarequellen verfügbar, kann jedoch von NPM installiert werden (ein weiteres Tool für den Entwicklungslebenszyklus, das Yarn ersetzen möchte - das ist also umständlich ...).
Um Yarn in Ubuntu verfügbar zu machen, entfernen Sie zunächst cmdtestdie entsprechenden Tools:
$ sudo apt purge cmdtest
Stellen Sie dann sicher, dass NPM installiert ist:
$ sudo apt install npm
Verwenden Sie dann NPM, um Garn zu installieren:
$ npm install -g yarn
Hinweis: Mit using npm install -gwird ein Javascript-Paket für Ihr aktuelles Benutzerkonto installiert, was für die meisten Zwecke in Ordnung sein sollte. Wenn Sie Yarn für alle Benutzer installieren möchten, können Sie es sudofür den NPM-Befehl verwenden. Dies wird jedoch nicht empfohlen: NPM-Pakete werden im Kontext eines Mehrbenutzer-Betriebssystems selten auf Sicherheit geprüft, und die Installation einiger Pakete kann bei der Installation sogar fehlschlagen sie als "Wurzel". NPM warnte früher davor, es mit auszuführen, sudound der Hauptgrund, warum dies heute nicht der Fall ist, ist, dass es Leute nervt, die "root-ähnliche" Sandbox-Umgebungen (wie Docker) zum Erstellen und Bereitstellen von Javascript-Anwendungen für Einzelbenutzerserver verwenden.
yarn install --verboseSie die erweiterten Informationen aus und fügen Sie sie hinzu. Sind Sie sicher, dass Sie Garn im richtigen Ordner ausführen (der eine package.json enthält)?