Yarn: Das Hinzufügen eines Skripts namens "install" zu package.json erzeugt eine Endlosschleife

Erstellt am 19. Okt. 2016  ·  3Kommentare  ·  Quelle: yarnpkg/yarn

Möchten Sie ein _Feature_ anfordern oder einen _Bug_ melden?

Insekt

Wenn das aktuelle Verhalten ein Fehler ist, geben Sie bitte die Schritte zum Reproduzieren an.

Fügen Sie dies zu Ihrem package.json :

  "scripts": {
    "install": "yarn install --ignore-optional",
  },

Lauf

yarn install

Wie ist das aktuelle Verhalten?

> yarn install
yarn install v0.16.0
success Already up-to-date.
$ yarn install --ignore-optional
yarn install v0.16.0
success Already up-to-date.
$ yarn install --ignore-optional
yarn install v0.16.0
success Already up-to-date.
$ yarn install --ignore-optional
yarn install v0.16.0
success Already up-to-date.
$ yarn install --ignore-optional
Terminate batch job (Y/N)?
yarn install v0.16.0
Terminate batch job (Y/N)?
^C

Was ist das erwartete Verhalten?

Keine Endlosschleife. Vielleicht kopieren Sie, was Composer tut: gibt diese Warnung aus:

Ein Skript namens install würde einen Composer-Befehl überschreiben und wurde übersprungen

Und fährt dann mit dem eingebauten Befehl fort.

Bitte geben Sie Ihre node.js-, Garn- und Betriebssystemversion an.

Knoten: v6.3.1
Garn: 0.16.0
Betriebssystem: Win10 Jubiläum

Hilfreichster Kommentar

Ehrlich gesagt scheint dies absichtliches Verhalten zu sein, ich denke nicht, dass wir explizit etwas tun sollten, um einen yarn Installationsbefehl zu erkennen, da wir den Speicherort der ursprünglichen Binärdatei nicht kennen und jede Erkennung nachlässig sein wird. install ist ein gültiger Lifecycle-Skript-Hook und wir führen ihn korrekt aus, es wird nichts ignoriert.

Alle 3 Kommentare

Umzug nach #1374

Ehrlich gesagt scheint dies absichtliches Verhalten zu sein, ich denke nicht, dass wir explizit etwas tun sollten, um einen yarn Installationsbefehl zu erkennen, da wir den Speicherort der ursprünglichen Binärdatei nicht kennen und jede Erkennung nachlässig sein wird. install ist ein gültiger Lifecycle-Skript-Hook und wir führen ihn korrekt aus, es wird nichts ignoriert.

@kittens Ich war wirklich verwirrt von Ihrer Antwort, bis ich "npm lifecycle scripts" gegoogelt habe und auf diese gestoßen bin.

Ich wusste eigentlich nicht, dass install etwas Besonderes ist, das _sollte_ nach yarn/npm install -- ich dachte, es sei nur ein normales Skript. Ich wusste nicht, dass es nach einem yarn install automatisch ausgelöst wird; Ich wollte es nur manuell über yarn run install ausführen.

In diesem Fall macht das durchaus Sinn. Sorry @wyze und @thejameskyle -- danke, dass ihr meinen Problembericht ernst nimmt, aber ich denke,

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen