Ich habe Knotenmodule per npm install installiert und dann versucht, in der Eingabeaufforderung gulp sass-watch auszuführen. Danach bekam ich die folgende Antwort.
[18:18:32] Requiring external module babel-register
fs.js:27
const { Math, Object, Reflect } = primordials;
^
ReferenceError: primordials is not defined
Habe das schon mal vor dem Schluck Sass-Watch versucht
npm -g install gulp-cli
webshot
Knotenpakets. Ich vermute, dass sie am Ende etwas aktualisieren müssen, bevor ich mit Node v12 fortfahren kann.v12.1.0
und Gulp,[email protected]
aber es funktioniert nichtv10.x
und Schluckv3.x
, dann geschah die MagieBeim Aktualisieren eines Legacy-Projekts in Abhängigkeit von
[email protected]
Node.js 12 ist dasselbe Problem aufgetreten .Mit diesen Fixes können Sie Node.js 12 verwenden,
[email protected]
indem Siegraceful-fs
die Version überschreiben4.2.3
.Wenn Ihr Projekt nicht aktiv bearbeitet wird und Sie npm verwenden
Erstellen Sie eine
npm-shrinkwrap.json
Datei, die Folgendes enthält:Übernehmen Sie diese
npm-shrinkwrap.json
Datei. Und dann ausführen,npm install
wodurch dienpm-shrinkwrap.json
Datei aktualisiert wird.Leider funktioniert diese Lösung nicht mehr, wenn Sie
npm install
wieder. Siehe die anderen Lösungen unten.Wenn sich Ihr Projekt in der aktiven Entwicklung befindet und Sie Garn v1 verwenden
Yarn v1 unterstützt das Auflösen eines Pakets in eine definierte Version . Sie müssen
resolutions
Ihrem Abschnitt einen Abschnitt hinzufügenpackage.json
:Vielen Dank an @jazd für diesen Weg, um das Problem zu lösen.
Wenn sich Ihr Projekt in der aktiven Entwicklung befindet und Sie npm verwenden
Mit
npm-force-resolutions
einem Vorinstallationsskript erhalten Sie ein ähnliches Ergebnis wie mit Garn v1. Sie müssen Ihre package.json folgendermaßen ändern:npm-force-resolutions
ändert diepackage-lock.json
Datei so, dass siegraceful-fs
auf die gewünschte Version eingestellt wird, bevorinstall
dies erledigt ist.Wenn Sie
.npmrc
in Ihrem Projekt eine benutzerdefinierte Datei verwenden, die entweder einen Proxy oder eine benutzerdefinierte Registrierung enthält, müssen Sie zu wechselnnpx npm-force-resolutions
,npx --userconfig .npmrc npm-force-resolutions
danpx
die aktuelle Ordnerdatei derzeit nicht.npmrc
standardmäßig verwendet wird.Ursprung des Problems
Dieses Problem ergibt sich aus der Tatsache , dass
[email protected]
hängt aufgraceful-fs@^3.0.0
dem monkeypatches Node.jsfs
Modul.Dies funktionierte früher mit Node.js bis Version 11.15 (eine Version aus einem Entwicklungszweig, die nicht in der Produktion verwendet werden sollte).
graceful-fs@^4.0.0
monkeypatch Node.js-fs
Modul nicht mehr, wodurch es mit Node.js> 11.15 kompatibel ist.Beachten Sie, dass dies keine mehrjährige Lösung ist, sondern hilfreich ist, wenn Sie keine Zeit zum Aktualisieren haben
gulp@^4.0.0
.quelle
npm install
zum Regenerieren laufepackage-lock.json
odernpm-shrinkwrap.json
, schien es nicht möglich, diese Abhängigkeiten zu sperren. Nach dem erneuten Ausführennpm install --no-save
zeigt das generiertepackage-lock.json
weiterhin npm an, um fehlende Abhängigkeiten zu installieren.Verwenden Sie die folgenden Befehle und installieren Sie den Knoten v11.15.0 :
wir klären das
Weitergeleitet von @Terje Norderhaug @Tom Corelis Antworten.
quelle
Repariere es in 1 Minute:
Befolgen Sie einfach diese Schritte . Ich bin auf Windows 10 und es hat perfekt für mich funktioniert!
package.json
einenpm-shrinkwrap.json
Datei mit den folgenden Inhalten erstellt haben:Führen Sie es aus
npm install
und machen Sie sich keine Sorgen, es wirdnpm-shrinkwrap.json
mit einer Reihe von Inhalten aktualisiert .Ausführen
gulp
, um das Projekt zu starten.quelle
Verwenden Sie zum Installieren folgende Befehle
node v11.15.0
undgulp v3.9.1
:Wird dieses Problem lösen:
quelle
Wenn Sie NVM verwenden , um zu verwalten, welche Knotenversion Sie verwenden, haben die folgenden Befehle für mich funktioniert:
quelle
10
anstelle des Codenamens.Gulp 3.9.1 funktioniert nicht mit Node v12.xx, und wenn Sie auf Gulp 4.0.2 aktualisieren, müssen Sie gulpfile.js mit der neuen Syntax (Series & Parallels) vollständig ändern. Ihre beste Wette ist also ein Downgrade auf Node V 11.xx, der 11.15.0 hat für mich gut funktioniert. Verwenden Sie einfach den folgenden Code im Terminal:
Prost!
quelle
gleiche Fehler hatte und schließlich fix , dass , wenn alle Pakete aktualisiert und dann die genannte gleiche Knoten Motor - Version und npm Version in ,
package.json
wie es in meinem lokalen Arbeitssystem ist.Ich habe diesen Fehler beim Bereitstellen auf Heroku erhalten.
Für mehr Checkout Heroku Unterstützung
quelle
Ein Downgrade auf Node Stable hat dieses Problem für mich behoben, da es nach dem Upgrade auf Node 12 aufgetreten ist
sudo n 10.16.0
quelle
n
zuerstTL: DR
Gulp
3.*
funktioniert nicht auf Node12.*
oder höher. Sie müssen Node downgraden oder Gulp aktualisieren.Wie andere bereits erwähnt haben, wird Gulp
3.*
auf Node12
oder höher nicht unterstützt. Sie müssen daher Ihre Node-Version auf11.*
oder unter herunterstufen oder Ihr Gulp auf upgraden4.0
.Die beste Option hängt letztendlich davon ab, wie viel Zeit Sie haben, da das Upgrade von Gulp die Vorteile sauberer Gulpfiles und integrierter Kontrolle darüber bietet, dass Aufgaben in Reihe oder parallel ausgeführt werden. Sie müssen Ihr Gulpfile jedoch auch auf eine neue Syntax umschreiben könnte (lesen: wahrscheinlich wird - siehe Ende dieses Kommentars) Konflikte mit einigen Abhängigkeiten verursachen.
Knoten herabstufen
Dies ist die einfachste und schnellste Option. Insbesondere, wenn Sie n oder nvm verwenden , da Sie so sehr schnell installieren und zwischen Node-Versionen wechseln können.
Installieren der Knotenversion auf N.
InstallingNode-Version auf NVM
Wenn Sie dies getan haben, müssen Sie möglicherweise Ihre npm-Abhängigkeiten neu erstellen oder alternativ sowohl Ihren
node_modules
Ordner als auch Ihrepackage-lock.json
Datei entfernen und Ihre Abhängigkeiten neu installieren. Wenn Sie lediglich zu einer bereits vorhandenen Node-Version zurückkehren, sollte dies wahrscheinlich in Ordnung sein.Upgrade von Gulp
Wie oben erwähnt, ist dies eine zeitintensivere Aufgabe, die jedoch langfristig Vorteile bringen kann. Beispielsweise hat Node
12
jetzt die native Unterstützung für ES-Module (hinter einem experimentellen Flag) und die vollständige Unterstützung in Node eingeführt13
.Möglicherweise müssen Sie Node aktualisieren, um dies zu nutzen, und müssen Gulp aktualisieren. Oder Sie möchten einfach nur die Vorteile von Gulp 4 nutzen, da es eine bessere und effizientere Kontrolle über Schreibaufgaben bietet.
Es gibt bereits eine Reihe von Artikeln zu diesem Thema, daher werde ich nicht weiter auf die Einzelheiten eingehen, sondern es noch einmal wiederholen - dies ist keine schnelle Aufgabe . Abhängig von der Größe Ihres Projekts ist möglicherweise ein bemerkenswertes Umschreiben erforderlich, und es können Abhängigkeiten auftreten, die nicht mehr funktionieren. Wenn Sie wenig Zeit haben, sollten Sie sich dafür entscheiden, Node zumindest vorübergehend einfach herunterzustufen.
Aber ich habe bereits Gulp 4 und es funktioniert immer noch nicht!
Wenn Sie wie ich bereits Gulp 4+ verwenden (ich habe Gulp verwendet
4.0.2
, ursprünglich auf Knoten 10) und kürzlich ein Upgrade durchgeführt haben (auf das ich aktualisiert habeNode 13.8.0
), wird das Problem möglicherweise immer noch angezeigt, weil eine Abhängigkeit von einem abhängig ist ältere Version von Gulp, und das wird in der Pipeline gefangen.In meinem Fall
gulp-combine-mq
war eine Abhängigkeit mit Gulp3.9.*
. Durch Deaktivieren dieser Aufgabe in meinem Gulpfile konnte Gulp erneut ausgeführt werden.In diesem Fall haben Sie einige Möglichkeiten:
Wenn Sie mehrere Plugins haben, die auf einer älteren Version von Gulp basieren - insbesondere wenn diese Plugins für Ihre Anwendung von entscheidender Bedeutung sind -, kann dies einen enormen zusätzlichen Zeitaufwand für das Upgrade von Gulp bedeuten (daher die obigen Warnungen).
In diesem Fall ist es am besten, den Knoten nur herunterzustufen, zumindest bis Patches ausgegeben werden können.
quelle
Dieser Fehler ist auf die neue Version von Node (12) und eine alte Version von gulp (weniger als 4) zurückzuführen.
Ein Downgrade von Node und anderen Abhängigkeiten wird nicht empfohlen. Ich habe dies gelöst, indem ich die
package.json
Datei aktualisiert habe , um die neueste Version aller Abhängigkeiten abzurufen. Dafür benutze ichnpm-check-updates
. Es ist ein Modul, das diepackage.json
mit der neuesten Version aller Abhängigkeiten aktualisiert .Referenz : https://www.npmjs.com/package/npm-check-updates
In den meisten Fällen müssen wir das
gulpfile.js
auch wie folgt aktualisieren :Referenz : https://fettblog.eu/gulp-4-parallel-and-series/#migration
Vor:
Nach:
quelle
Ich habe diesen Fehler unter Windows 10 erhalten. Es stellte sich heraus, dass das Roaming-Profil beschädigt ist.
Das Löschen des
C:\Users\{user}\AppData\Roaming\npm
Ordners hat mein Problem behoben.quelle
Befolgen Sie einfach diese Schritte. Es funktionierte perfekt mit der npm-Installation, die mehrmals ausgeführt wurde, oder mit der Installation anderer Module oder sogar der Veröffentlichung von Projekten auf artifactory.
Erstellen Sie in demselben Verzeichnis, in dem Sie package.json haben, eine Datei npm-shrinkwrap.json mit dem folgenden Inhalt:
Führen Sie die npm-Installation aus, und keine Sorge, die Datei npm-shrinkwrap.json wird mit einer Reihe von Inhalten aktualisiert. Lassen Sie uns diese Updates entfernen, indem Sie die Skriptoptionen von package.json aktualisieren .
Jetzt können Sie npm install ausführen und Ihre npm-shrinkwrap.json ist intakt und funktioniert für immer.
quelle
Dies könnte zu spät gekommen sein, aber für alle, die immer noch daran interessiert sind, ihren Node v12 zu behalten, während sie den neuesten gulp ^ 4.0 verwenden, gehen Sie folgendermaßen vor:
Aktualisieren Sie die Befehlszeilenschnittstelle (nur vorsichtshalber) mit:
Fügen Sie den
gulp
Abschnitt unter Abhängigkeiten Ihrer package.json hinzu / aktualisieren Sie ihnLöschen Sie Ihre
package-lock.json
DateiLöschen Sie Ihren
node_modules
OrdnerFühren Sie schließlich "Ausführen" aus
npm i
, um den brandneuen Ordner "node_modules" und die Datei "package-lock.json" mit den korrekten Parametern für Gulp ^ 4.0 zu aktualisieren und neu zu erstellenHinweis Gulp.js 4.0 führt die Methoden
series()
und einparallel()
, um Aufgaben anstelle der in Gulp 3 verwendeten Array-Methoden zu kombinieren. Daher kann es vorkommen, dass in Ihrem altengulpfile.js
Skript ein Fehler auftritt oder nicht .Um mehr über die Anwendung dieser neuen Funktionen zu erfahren, wurde diese Website dem wirklich gerecht: https://www.sitepoint.com/how-to-migrate-to-gulp-4/
( Wenn es hilft, lassen Sie bitte einen Schlag nach oben )
quelle
gulp-cli
? Ich bin deinen Schritten gefolgt und habe anfangs alles zum Laufen gebracht. aber dann habe ich deinstalliertgulp-cli
(da ich nicht gesehen habe, wo es verwendet wird) und alles hat immer noch funktioniert. Vielen Dank für die Antwort, denn ich bin wieder mit Nodev12.9.1
und Gulp am Laufen4.0.2
!gulp-cli
ist das Befehlszeilenprogramm. DiesIch habe dieses Problem unter Windows 10 behoben, indem ich node unter Programme hinzufügen oder entfernen -> Node.js deinstalliert habe
Dann habe ich Version 11.15.0 von https://nodejs.org/download/release/v11.15.0/ installiert.
Wählen Sie node-v11.15.0-x64.msi, wenn Sie Windows 64bit ausführen.
quelle
Gulp macht Probleme mit Nodejs Version 11 und höher. Deinstallieren Sie Ihre aktuelle Knotenversion und installieren Sie die Version 10.15.1 neu. Hier finden Sie den Link für diese Version. Dies hilft mir und es wird auch Ihr Problem lösen.
https://nodejs.org/download/release/v10.15.1/
quelle
Ich stand vor dem gleichen Problem. Was ich versucht und für mich gearbeitet habe:
Überprüfen Sie die Version von NODE und GULP (die Kombination von Knoten v12 und gulp kleiner als v4 funktioniert nicht)
Ich stufe die NPM-Version herunter durch:
Es hat gut funktioniert, dann folgen Sie einfach den Anweisungen Ihrer Konsole.
quelle
Aktualisieren Sie auf 4.0.1 und stellen Sie sicher, dass Sie https://fettblog.eu/gulp-4-parallel-and-series/#migration migrieren
quelle
Für diejenigen, die verwenden
yarn
.quelle
Für alle, die denselben Fehler aus demselben Grund in ADOS CI Build haben:
Diese Frage war die erste, die ich bei der Suche nach Hilfe gefunden habe. Ich habe eine ADOS CI-Build-Pipeline, in der die erste Tool-Installationsaufgabe für Node.js zum Installieren von Node verwendet wird. Dann wird die npm-Task verwendet, um gulp zu installieren (npm install -g gulp). Dann führt die folgende Gulp-Aufgabe die Standardaufgabe von gulpfile.js aus. Da ist ein Schluck-Sass-Zeug drin.
Als ich das Node.js-Tool geändert habe, um den neuesten 12.x-Knoten anstelle eines älteren zu installieren, war die neueste gulp-Version 4.0.2. Das Ergebnis war der gleiche Fehler wie in der Frage beschrieben.
In diesem Fall hat es für mich funktioniert, node.js auf die neueste Version 11.x herunterzustufen, wie dies bereits von Alphonse R. Dsouza und Aymen Yaseen vorgeschlagen wurde. In diesem Fall müssen jedoch keine von ihnen vorgeschlagenen Befehle verwendet werden, sondern nur die Versionsspezifikation des Node.js-Tool-Installationsprogramms auf die neueste Node-Version von 11.x eingestellt werden.
Die genaue Version von Node.js, die installiert wurde und funktioniert, war 11.15.0. Ich musste den Gulp nicht herabstufen.
quelle
Ich habe diesen Fehler festgestellt, nachdem ich meinen Knoten auf Version 12 aktualisiert habe, die mit Gulp 3.9.1 nicht funktioniert. In Anbetracht der Tatsache, dass meine Datei gulpfile.js nicht so komplex war, entschied ich mich, mit diesem Artikel auf Gulp 4 zu aktualisieren. Es lief gut und war viel einfacher als ich dachte.
quelle
Sie haben hier zwei Möglichkeiten
quelle
Dies liegt an dem Kompatibilitätsproblem zwischen
node
undgulp
in Ihrem System. Durch Herunterstufennode
oder Aktualisierengulp
wird das Problem behoben.Versuchen Sie, den
node_modules
Ordner und diepackage-lock.json
Datei zu entfernen und erneut mit demnpm i
Befehl zu installieren, wenn dies immer noch nicht funktioniert.quelle
Was für mich funktioniert hat, war die Verwendung von python2 während der npm-Installation.
quelle
Da wir diesen Fehler auch bekommen, wenn wir das s3 NPM-Paket verwenden. Das Problem ist also, dass wir das Graceful-Fs-Paket aktualisieren müssen. Es funktioniert gut auf 4.2.3.
Schauen Sie sich also einfach an, welches NPM-Paket in der Protokollverfolgung angezeigt wird, und aktualisieren Sie die Graceful-Fs entsprechend auf 4.2.3.
quelle
Ich habe auch einen Fehler auf Knoten 12/13 mit Gulp 3 erhalten, der Wechsel zu Knoten 11 hat funktioniert.
quelle
Gelöst durch Downgrade von Node.js Version von
12.14.0
auf10.18.0
und Neuinstallationnode_modules
.quelle
Wenn Sie versuchen zu installieren
semantic-ui
und der folgende Fehler auftritt, laden Sie die neueste Version des Knotensjs(13.5.0)
mit den neuesten Funktionen von Node.js.org herunter. Anstatt die Semantik der NPM-Installation zu versuchen, sollten Sie einfach den Link hinzufügen (den Sie finden können) von cdnjs Link zum Header Ihrerindex.html
Datei. Viel Glück!quelle
Schritte So beheben Sie das Problem: -
Ich habe das Problem mit folgenden Schritten behoben: -
Jetzt können Sie schlucken bereitstellen
quelle
Ich schlage vor, dass Sie zuerst sicherstellen, dass die NPM-Installation nicht Ihr Problem ist. Dann stufen Sie Node- und Gulp-Versionen herunter. Ich habe Knoten 10.16.1 und gulp 3.9.1 verwendet.
Um Ihren Schluck herunterzustufen, können Sie versuchen
quelle