web-dev-qa-db-de.com

Das Modul 'internal / fs' kann nach dem Upgrade auf Knoten 7 nicht gefunden werden

Wir haben kürzlich versucht, ein Upgrade auf den Knoten v7.0.0 auf unserem Build-Server durchzuführen, es traten jedoch während der Task zum Erstellen von Anwendungen Probleme auf, die beim "bower_concat" -Schritt :

Loading "bower-concat.js" tasks...ERROR
Error: Cannot find module 'internal/fs'

Was wir installiert haben:

  • node v7.0.0 (installiert über yum"node source" -Repository )
  • npm 4.0.1
  • mit grunt (falls dies relevant ist)
  • grunt-bower-concat 0.6.0

Die Konfiguration der Grunz-Build-Aufgabe:

grunt.registerTask(
    'build:prod', [
        'clean:prod',
        'copy:prod',
        'replace',
        'bower_concat',
        'ngtemplates',
        'concat',
        'uglify',
        'cssmin',
        'injector:prod',
        'copy:cssfix',
        'copy:dist',
        'bowercopy:dist',
        'bowercopy:fonts',
        'template:setProdVersion'
    ]
);

Und das Grunzen bower_concat Aufgabe:

bower_concat: {
    all: {
        dest: '<%= app.build %>/bower.js',
        cssDest: '<%= app.build %>/bower.css',
        dependencies: {
            'bootstrap': 'jquery'
        },
        mainFiles: {
            "angular-app-modules": [
                "app/dist/angular-app-modules.min.js",
                "app/dist/angular-app-modules.min.css"
            ]
        }
    }
}, 

Beachten Sie, dass es auf Knoten v6.9.0 problemlos funktioniert.

Was kann das Problem verursachen? Können wir das Problem umgehen, ohne ein Downgrade auf Knoten v6 durchzuführen?


Es gibt auch dieses relevante Problem , aber ab sofort helfen die Informationen dort in unserem Fall nicht weiter.

53
alecxe

Öffnen Sie zuerst die Konsole als Administrator (oder im Terminal mit Sudo, wenn es sich um ein Linux handelt) und:

npm cache clean

Für Nr. 5 und höher

npm cache clean --force

Bearbeiten:

Bei Windows kann es sein, dass Sie den Cache nicht bereinigen können. Sie können den Cache also manuell entfernen, indem Sie den gesamten folgenden Ordnerinhalt löschen:

C:\Users\<USER-NAME>\AppData\Roaming\npm-cache

Danke "superwf", dieser Fall könnte für einige passieren, aber ich musste das nie tun (vielleicht wegen meiner niedrigsten Sicherheitsstufe ?!).

Edit beenden.


Kehren Sie dann zur normalen Konsole zurück (nicht zum Administrator oder zum Stammverzeichnis), kehren Sie zu Ihrem Projektverzeichnis zurück, in dem sich package.json befindet, und löschen Sie den Ordner node_modules Aus Ihrem Projekt, entfernen Sie ihn vollständig und installieren Sie den Knoten Module wieder in Ihrem Projektordner:

npm install

Möglicherweise müssen Sie Ihre Module aktualisieren, bevor Sie die Module erneut installieren können. Ich empfehle dies, aber achten Sie darauf, die Änderungen zu ändern , wenn Ihre Module größere Versionsänderungen aufweisen. Dieses Modul npm-check-updates kann Ihnen helfen, die neueste Version zu überprüfen und zu aktualisieren.

Außerdem müssen Sie möglicherweise auch die neuesten globalen Module installieren. Überprüfen Sie die Aktualisierungen anhand folgender Schritte:

ncu -g

oder

npm outdated -g

Wenn Sie immer noch nicht weiterkommen, müssen Sie möglicherweise den globalen Ordner node_modules Entfernen und erneut installieren, was Sie möchten.


Bearbeiten :

Garnoption : Einige Leute endeten mit den gleichen Problemen, sogar mit den Aufräumprozeduren. Tatsächlich sparen Sie viel Zeit mit Garn . Ich persönlich habe angefangen, yarn anstelle von traditionellem npm i Zu verwenden. Ich kann garantieren, dass es schneller ist, und spare Zeit und Kopf vor Npm-Kopfschmerzen.

58
Al-Mothafar

In meinem Fall hat das Löschen des Cache (OSX) nicht funktioniert. Ich verwende n, um den Knoten zu verwalten, wodurch npm möglicherweise nicht mehr aktuell ist. Entsprechend n docs können Sie npm aktualisieren mit:

curl -0 -L https://npmjs.org/install.sh | Sudo sh
19
cyberwombat

Wenn ich unter Linux work auf Knoten 7 aktualisiere, funktioniert "npm cache clean".

In Windows kann npm cache clean auch generiert werden

Fehler: Modul 'internal/fs' kann nicht gefunden werden

Einfach entfernen

C:\Users [Benutzername]\AppData\Roaming\npm

C:\Users [Benutzername]\AppData\Roaming\npm-Cache

gelöst

14
superwf

In meinem Fall hat das Löschen des Caches nicht funktioniert. Unten war mein Ausgangszustand und wie ich das gelöst habe:

node -v v7.4.0
npm -v 4.0.5

Ich habe es folgendermaßen gelöst und n manager verwendet:

$ Sudo n 6.9.1
$ Sudo npm -g install [email protected]
$ Sudo n stable

Hoffe das hilft!

11

Ich verwende das n-Tool , um den Wechsel zwischen den Knoten- (und den gebündelten npm-) Versionen zu verwalten.

Um diesen Fehler zu beheben, entfernte ich einfach npm aus dem globalen Speicher (macOS): Sudo rm -rf /usr/local/lib/node_modules/npm

Ich habe dann Sudo n neu gestartet. Dies wird npm neu installieren. Führen Sie beim Zurückschalten auf die vorherige Version von Node einfach Sudo n 4.3.2 aus.

Zusammenfassen:

> Sudo rm -rf /usr/local/lib/node_modules/npm
> Sudo n latest
> node --version
v7.7.1
> npm --version
4.1.2
> Sudo n 4.3.2
> npm --version
2.14.12
6
rynop

Die Lösung, die für mich funktionierte, war:

1) Lösche node_modules /

Sudo rm -R node_modules/ 

2) Schlucken Sie erneut

gulp

3
zeros-and-ones

Sie müssen die letzte Version von Bower installieren

> npm install -g bower

Npm> 4.0 verwendet offenbar kein internes/fs-Modul.

2
Anis Ben Amara

Ich arbeite unter Windows 8.1 x64 und aktualisiere von Version 6 auf Version 7. Ich habe dieses Problem bei der globalen Installation. Ich habe bereits viele Pakete installiert, aber jedes Mal, wenn ich den Befehl npm ausgeführt habe, ob npm install, npm list,npm update etc. geben immer den gleichen Fehler zurück

Dieser Schritt funktioniert bei mir:

  1. Bereinigen Sie den npm-Cache manuell durch Löschen des Ordners npm-cache unter

C:\Benutzer [Benutzername]\AppData\Roaming \

  1. npm entfernen/umbenennen Ordner in meinem NodeJS Installationsverzeichnis. In diesem Fall ich benenne den Ordner npm in npm - um in

C:\Programme\nodejs\node_modules

  1. Installieren Sie NodeJS v7 erneut

Dann funktioniert alles gut

2

Wenn Sie einen Mac verwenden

cd ~/.nvm/versions

und entfernen Sie den Knotenordner

2
Tokala Sai Teja

Ich löse dies, indem ich NVM installiere, um Node zu verwalten

https://github.com/creationix/nvm#installation

installieren Sie den Knoten nach der Installation von NVM neu

nvm install node
2
cyberfly

In meinem Fall hat das Löschen des Caches nicht funktioniert. Was hat funktioniert, war das Löschen der node_modules/npm Ordner in meinem nodejs Installationsverzeichnis. Führen Sie dann das nodejs-Installationsprogramm erneut aus und verwenden Sie die Option 'repair' (Hinweis: Dies ist für Windows).

Nach allem, was ich im npm-Debug-Protokoll finden konnte, sah es so aus, als ob meine alte Version von npm vor der Installation der neuen Version nicht vollständig entfernt wurde. Es gab also einige veraltete Module in dem Ordner, in dem npm installiert war.

2
Adam Weber

Bin auf dieses Problem gestoßen, nachdem ein Upgrade von Node= v4.X auf v7.8.0 durchgeführt wurde. Durch die Neuinstallation von NPM und eine aktuelle Überprüfung bin ich auf ein funktionierendes NPM v4.5.0 gekommen.

curl -L https://www.npmjs.com/install.sh | sh
npm install [email protected] -g
1
Ryan Ruppert

Keine der Antworten hat für mich funktioniert.

Am Ende habe ich Knoten und ionic neu installiert und das hat den Trick gemacht:

npm cache clean -f
npm install npm -g

npm uninstall node
npm install node -g

Meine Systeminformationen vor dem Beheben des Problems:

Cordova CLI: 7.0.1
Ionic CLI Version: 1.7.11         <-- way too old
Ionic App Lib Version: 0.6.5
ios-deploy version: 1.9.1
ios-sim version: 5.0.4
OS: Mac OS X El Capitan
Node Version: v8.0.0
Xcode version: Xcode 8.3.3 Build version 8E3004b
1
David Nathan

Auf Win10 funktionierte dies für mich: (an die jeweilige Knotenversion und den Benutzernamen anpassen)

  • Knoten deinstallieren (über node-v7.8.0-x64.msi)
  • Entfernen Sie die Ordner 'npm' und 'npm-cache' in 'C:\Users\IhrBenutzername\AppData\Roaming
  • Installieren Sie den Knoten erneut (über node-v7.8.0-x64.msi)
1
Michael L

wenn Sie n zum Aktualisieren von node -Versionen verwenden und alle npm-Befehle mit dieser Meldung fehlschlagen, bedeutet dies, dass Sie den neuesten Knoten, aber eine ältere npm-Version haben.

in diesem Fall gehen Sie wie folgt vor (möglicherweise wird Sudo benötigt)

n 4.7 npm install npm -g n latest

es kehrt zurück zu Node 4.7 und installiert dann die neueste Npm damit. Danach wird es wieder die neueste Version von npm geben. (Ersetzen Sie die neueste Version durch die tatsächlich gewünschte Version.)

0
Haseeb Eqx

1) Sudo npm cache clean -f

2) Sudo npm install -g n

3) Sudo n stabil

Nur drei Schritte :)

0
Krunal Vaghela