Milligram: Entfernen Sie die Engine-Eigenschaft aus package.json

Erstellt am 10. Juni 2020  ·  10Kommentare  ·  Quelle: milligram/milligram

Ist die Knotenversion wirklich wichtig?

awaiting reply

Hilfreichster Kommentar

@davidroeca @westtrade , können Sie mir bitte sagen, was passiert, wenn Sie Milligram installieren?

Ich weiß, dass wir 2 großartige Beispiele haben, und wie ich verstehe, verwendet das erste Beispiel eine Version vor LTS und das zweite Beispiel verwendet eine Version nach LTS, und beide Beispiele sind betroffen.

Zuerst würde ich gerne wissen, ob das gleiche Verhalten bei der Verwendung von Yarn und Npm auftritt.

Außerdem passiert das gleiche Verhalten, wenn Sie Milligram v1.4.0 und v1.3.0 (letzte Versionen) verwenden oder installieren?

In meinem Fall wird es einfach nicht installiert und NPM wirft einen Fehler aus, den ich im Titel geschrieben habe. Ihr Framework ist wunderbar - aber es ist seltsam, dass das Style-Framework eine Server-Interpreter-Version erfordert. Würden Browserstile nicht ohne Serverinterpreter funktionieren?

Alle 10 Kommentare

@westtrade Milligram wurde auf die LTS-Version von Node.js aktualisiert, da es dringend empfohlen wird, alle Abhängigkeiten aktuell zu halten.

Können Sie bitte detailliert erklären, warum Milligram Node.js v11 benötigt?

Bin selbst gerade über dieses Thema gestolpert. Derzeit am Knoten 14, der Blutungskante, und unter Verwendung von svelte , die sich auch an der Blutungskante befindet. Als Benutzer ist es ein bisschen seltsam, dass ein reines CSS-Framework mir sagt, auf welcher Engine des Knotens ich sein soll. Ich gehe davon aus, dass dieses Engine-Flag für die Entwickler von milligram selbst nützlicher ist?

Eine einfache Lösung für dieses Problem in Garn ist yarn add --ignore-engines milligram , und sagen Sie jedem, der Ihr Repo klont, zu yarn install --frozen-lockfile --ignore-engines und nicht nur zu yarn install --frozen-lockfile . Dies ist jedoch nicht ideal, da ich nur CSS importiere.

@davidroeca Ja. Die Node.js-Version ist definiert, weil sie für die Entwicklungsumgebung des Milligram benötigt wird. Außerdem wird dringend empfohlen, alle Abhängigkeiten aktuell zu halten. In diesem Fall verwendet Milligram die LTS-Version (v12) von Node.js.

Lassen Sie mich also besser verstehen, was vor sich geht, und vielleicht können wir helfen, es zu verbessern.

@cjpatoilo Ich stimme zu, dass es am besten ist, Pakete auf dem @westtrade , da >= geändert wird , um auch zukünftige Knotenversionen zu berücksichtigen:

  "engines": {
-    "node": "^12.17.0",
+    "node": ">=12.17.0",
    "npm": "^6.14.5"
  },

Eine ähnliche Diskussion hat im Bootstrap-Repo stattgefunden. Sie haben sich dafür entschieden, das Engine-Feld vollständig zu entfernen, da diese speziellen Engines nur erforderlich sind, um den Ordner dist/ zu erstellen, den die Benutzer verwenden. Dies geschieht im Build-Schritt, daher benötige ich eigentlich nichts, was mit JS zu tun hat, um diese Dateien herunterzuladen.

Genügt aus entwicklungspolitischer Sicht in diesem Repo ein Hinweis in der README, der die unterstützte Node-Version + eine CI-Umgebung mit einer gepinnten Node-Version angibt?

@westtrade @davidroeca vorerst werde ich engine aus package.json entfernen

@davidroeca @westtrade , können Sie mir bitte sagen, was passiert, wenn Sie Milligram installieren?

Ich weiß, dass wir 2 großartige Beispiele haben, und wie ich verstehe, verwendet das erste Beispiel eine Version vor LTS und das zweite Beispiel verwendet eine Version nach LTS, und beide Beispiele sind betroffen.

Zuerst würde ich gerne wissen, ob das gleiche Verhalten bei der Verwendung von Yarn und Npm auftritt.

Außerdem passiert das gleiche Verhalten, wenn Sie Milligram v1.4.0 und v1.3.0 (letzte Versionen) verwenden oder installieren?

Bei npm erhalte ich folgende Warnungen:

❯ node --version
v14.4.0
❯ npm --version
6.14.5
❯ npm install --save milligram
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN notsup Unsupported engine for [email protected]: wanted: {"node":"^12.17.0","npm":"^6.14.5"} (current: {"node":"14.4.0","npm":"6.14.5"})
npm WARN notsup Not compatible with your version of node/npm: [email protected]
+ [email protected]
added 2 packages from 1 contributor and audited 2 packages in 1.581s
found 0 vulnerabilities

Bei Garn ist es ein Fehler:

❯ node --version
v14.4.0
❯ yarn --version
1.22.4
❯ yarn add milligram
yarn add v1.22.4
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
error [email protected]: The engine "node" is incompatible with this module. Expected version "^12.17.0". Got "14.4.0"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

Abwärts auf 12.8.0

❯ node --version
v12.18.0
❯ npm --version
6.14.5
❯ npm install --save milligram
npm notice created a lockfile as package-lock.json. You should commit this file.
+ [email protected]
added 2 packages from 1 contributor and audited 2 packages in 0.876s
found 0 vulnerabilities

Mit Garn:

❯ yarn --version
1.22.4
❯ yarn add milligram
yarn add v1.22.4
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
success Saved 2 new dependencies.
info Direct dependencies
└─ [email protected]
info All dependencies
├─ [email protected]
└─ [email protected]
Done in 0.34s.

Mit milligram@~1.3.0 kann ich ohne Probleme die neueste Version von nodejs verwenden:

❯ node --version
v14.4.0
❯ yarn add milligram@~1.3.0
yarn add v1.22.4
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
success Saved 2 new dependencies.
info Direct dependencies
└─ [email protected]
info All dependencies
├─ [email protected]
└─ [email protected]
Done in 1.47s.

@davidroeca @westtrade , können Sie mir bitte sagen, was passiert, wenn Sie Milligram installieren?

Ich weiß, dass wir 2 großartige Beispiele haben, und wie ich verstehe, verwendet das erste Beispiel eine Version vor LTS und das zweite Beispiel verwendet eine Version nach LTS, und beide Beispiele sind betroffen.

Zuerst würde ich gerne wissen, ob das gleiche Verhalten bei der Verwendung von Yarn und Npm auftritt.

Außerdem passiert das gleiche Verhalten, wenn Sie Milligram v1.4.0 und v1.3.0 (letzte Versionen) verwenden oder installieren?

In meinem Fall wird es einfach nicht installiert und NPM wirft einen Fehler aus, den ich im Titel geschrieben habe. Ihr Framework ist wunderbar - aber es ist seltsam, dass das Style-Framework eine Server-Interpreter-Version erfordert. Würden Browserstile nicht ohne Serverinterpreter funktionieren?

@davidroeca @westtrade danke, dass du es mir erklärt hast.
Ich werde dieses Problem weiter verfolgen und vielleicht finde ich einen besseren Ansatz.

Vorerst werde ich dieses Thema schließen und PR #253 zusammenführen.
Bitte zögern Sie nicht, diese Ausgabe erneut zu öffnen oder eine neue zu eröffnen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

davedele picture davedele  ·  5Kommentare

roryprimrose picture roryprimrose  ·  7Kommentare

alzearafat picture alzearafat  ·  4Kommentare

fooksupachai picture fooksupachai  ·  5Kommentare

enkota picture enkota  ·  6Kommentare