Modul nicht gefunden: Fehler: „fs“ kann nicht aufgelöst werden in

Lesezeit: 10 Minuten

Benutzer-Avatar
mächtiger Code Newton

Oke, ich habe Angular von 6 auf 8 aktualisiert. Aber ich bekomme immer noch Fehler.

Ich habe im Internet eine Lösung gefunden, die vielen Benutzern geholfen hat. Aber in diesem Fall hat es mir nicht geholfen.

Meine package.json-Datei sieht also so aus:

{
  "name": "vital10-frontend",
  "version": "0.55.0",
  "license": "Unlicensed",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "hmr": "ng serve --configuration hmr",
    "build": "ng build",
    "build:prod": "npm run sass:prod && npm run vit10prod",
    "build:acc": "npm run sass:prod && npm run vit10acc",
    "build:test": "npm run sass:prod && npm run vit10test",
    "build:dev": "npm run sass:prod && npm run vit10dev",
    "test": "ng test",
    "test:cover": "ng test --code-coverage",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "local": "ng serve -c local",
    "analyze-bundle": "webpack-bundle-analyzer dist/stats.json",
    "postinstall": "node patch-webpack.js",
    "sass:watch": "sass --watch sass:src\\assets",
    "sass:prod": "sass --update -f --style compressed --sourcemap=none sass:src\\assets",
    "vit10dev": "ng build --prod -c vit10dev",
    "vit10test": "ng build --prod -c vit10test",
    "vit10acc": "ng build --prod -c vit10acc",
    "vit10prod": "ng build --prod -c production"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^8.1.2",
    "@angular/cdk": "^7.3.7",
    "@angular/common": "^8.1.2",
    "@angular/compiler": "^8.1.2",
    "@angular/core": "^8.1.2",
    "@angular/forms": "^8.1.2",
    "@angular/http": "^7.2.15",
    "@angular/platform-browser": "^8.1.2",
    "@angular/platform-browser-dynamic": "^8.1.2",
    "@angular/platform-server": "^8.1.2",
    "@angular/router": "^8.1.2",
    "@types/chart.js": "^2.7.54",
    "buffer": "^5.2.1",
    "chart.js": "^2.7.2",
    "core-js": "^2.5.7",
    "events": "^3.0.0",
    "fs": "0.0.1-security",
    "jasmine": "^3.1.0",
    "ng2-charts": "^1.6.0",
    "ng2-dragula": "^2.1.1",
    "ng2-pdf-viewer": "^5.0.1",
    "node-sass": "^4.11.0",
    "oidc-client": "^1.5.1",
    "path": "^0.12.7",
    "pdfjs-dist": "^2.0.489",
    "rxjs": "^6.5.2",
    "rxjs-compat": "^6.5.2",
    "stream": "0.0.2",
    "timers": "^0.1.1",
    "web-animations-js": "^2.3.1",
    "zone.js": "^0.9.1"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.801.2",
    "@angular/cli": "^8.1.2",
    "@angular/compiler-cli": "^8.1.2",
    "@angular/language-service": "^8.1.2",
    "@angularclass/hmr": "^2.1.3",
    "@compodoc/compodoc": "^1.1.10",
    "@types/jasmine": "^3.3.14",
    "@types/node": "^12.6.8",
    "chai": "^4.1.2",
    "codelyzer": "^5.1.0",
    "convert-csv-to-json": "0.0.13",
    "cucumber": "^4.2.1",
    "cucumber-html-reporter": "^5.0.0",
    "cucumber-junit": "^1.7.1",
    "express-static": "^1.2.5",
    "jasmine-core": "^3.4.0",
    "jasmine-reporters": "^2.3.1",
    "jasmine-spec-reporter": "^4.2.1",
    "karma": "^4.2.0",
    "karma-chrome-launcher": "^3.0.0",
    "karma-cli": "^2.0.0",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "karma-html-reporter": "^0.2.7",
    "karma-jasmine": "^2.0.1",
    "karma-jasmine-html-reporter": "^1.4.2",
    "karma-junit-reporter": "^1.2.0",
    "karma-teamcity-reporter": "^1.1.0",
    "moment": "^2.22.1",
    "prettier": "1.13.4",
    "protractor": "^5.4.2",
    "protractor-beautiful-reporter": "^1.2.1",
    "protractor-cucumber-framework": "^5.0.0",
    "puppeteer": "^1.14.0",
    "request": "^2.87.0",
    "request-promise-native": "^1.0.5",
    "ts-node": "^3.3.0",
    "tslint": "^5.18.0",
    "tslint-angular": "^1.1.2",
    "typescript": "3.4.5",
    "webpack-bundle-analyzer": "^3.3.2",
    "xlsx": "^0.12.13"
  },
  "browser": {
    "fs": false,
    "path": false,
    "os": false,
    "crypto": false,
    "stream": false,
    "http": false,
    "tls": false,
    "zlib": false,
    "https": false,
    "net": false
  }
}

Und mein B tsconfig.json Datei sieht so aus:

{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "baseUrl": "src",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2016",
      "dom"
    ]
  },
   "angularCompilerOptions": {
     "enableIvy": false
   }
}

Aber ich bekomme immer noch diese Fehler:

ERROR in ./node_modules/resolve/lib/async.js
Module not found: Error: Can't resolve 'fs' in 'C:\Source\nien\vital10-frontend\node_modules\resolve\lib'
ERROR in ./node_modules/resolve/lib/sync.js
Module not found: Error: Can't resolve 'fs' in 'C:\Source\nien\vital10-frontend\node_modules\resolve\lib'
ERROR in ./node_modules/resolve/lib/node-modules-paths.js
Module not found: Error: Can't resolve 'fs' in 'C:\Source\nien\vital10-frontend\node_modules\resolve\lib'
ERROR in ./node_modules/tslint/lib/utils.js
Module not found: Error: Can't resolve 'fs' in 'C:\Source\nien\vital10-frontend\node_modules\tslint\lib'

Ich habe eine mögliche Lösung gefunden, dass Sie eine Konfiguration in eines der node_modules einfügen müssen. Aber ich denke, das ist keine gute Lösung. Denn wenn Sie alle Importe entfernen und dann die Importe erneut installieren, sind Ihre Konfigurationen weg.

Vielen Dank

Ok, die habe ich entfernt

 "fs": "0.0.1-security",

Ich habe alle Pakete (node_modules) gelöscht und eine npm-Installation durchgeführt.

Aber jetzt bekomme ich das:

(node:13880) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added. Use emitter.setMaxListeners() to increase limit
Binary found at C:\Source\nien\vital10-frontend\node_modules\node-sass\vendor\win32-x64-64\binding.node
Testing binary
Binary is fine

> [email protected] postinstall C:\Source\nien\vital10-frontend
> node patch-webpack.js

internal/modules/cjs/loader.js:638
    throw err;
    ^

Error: Cannot find module 'C:\Source\nien\vital10-frontend\patch-webpack.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: `node patch-webpack.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\nien\AppData\Roaming\npm-cache\_logs\2019-07-23T10_25_46_184Z-debug.log
PS C:\Source\nien\vital10-frontend>

und meine package.json-Datei sieht jetzt so aus:

{
  "name": "vital10-frontend",
  "version": "0.55.0",
  "license": "Unlicensed",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "hmr": "ng serve --configuration hmr",
    "build": "ng build",
    "build:prod": "npm run sass:prod && npm run vit10prod",
    "build:acc": "npm run sass:prod && npm run vit10acc",
    "build:test": "npm run sass:prod && npm run vit10test",
    "build:dev": "npm run sass:prod && npm run vit10dev",
    "test": "ng test",
    "test:cover": "ng test --code-coverage",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "local": "ng serve -c local",
    "analyze-bundle": "webpack-bundle-analyzer dist/stats.json",
    "postinstall": "node patch-webpack.js",
    "sass:watch": "sass --watch sass:src\\assets",
    "sass:prod": "sass --update -f --style compressed --sourcemap=none sass:src\\assets",
    "vit10dev": "ng build --prod -c vit10dev",
    "vit10test": "ng build --prod -c vit10test",
    "vit10acc": "ng build --prod -c vit10acc",
    "vit10prod": "ng build --prod -c production"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^8.1.2",
    "@angular/cdk": "^7.3.7",
    "@angular/common": "^8.1.2",
    "@angular/compiler": "^8.1.2",
    "@angular/core": "^8.1.2",
    "@angular/forms": "^8.1.2",
    "@angular/http": "^7.2.15",
    "@angular/platform-browser": "^8.1.2",
    "@angular/platform-browser-dynamic": "^8.1.2",
    "@angular/platform-server": "^8.1.2",
    "@angular/router": "^8.1.2",
    "@types/chart.js": "^2.7.54",
    "buffer": "^5.2.1",
    "chart.js": "^2.7.2",
    "core-js": "^2.5.7",
    "events": "^3.0.0",
    "jasmine": "^3.1.0",
    "ng2-charts": "^1.6.0",
    "ng2-dragula": "^2.1.1",
    "ng2-pdf-viewer": "^5.0.1",
    "node-sass": "^4.11.0",
    "oidc-client": "^1.5.1",
    "path": "^0.12.7",
    "pdfjs-dist": "^2.0.489",
    "rxjs": "^6.5.2",
    "rxjs-compat": "^6.5.2",
    "stream": "0.0.2",
    "timers": "^0.1.1",
    "web-animations-js": "^2.3.1",
    "zone.js": "^0.9.1"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.801.2",
    "@angular/cli": "^8.1.2",
    "@angular/compiler-cli": "^8.1.2",
    "@angular/language-service": "^8.1.2",
    "@angularclass/hmr": "^2.1.3",
    "@compodoc/compodoc": "^1.1.10",
    "@types/jasmine": "^3.3.14",
    "@types/node": "^12.6.8",
    "chai": "^4.1.2",
    "codelyzer": "^5.1.0",
    "convert-csv-to-json": "0.0.13",
    "cucumber": "^4.2.1",
    "cucumber-html-reporter": "^5.0.0",
    "cucumber-junit": "^1.7.1",
    "express-static": "^1.2.5",
    "jasmine-core": "^3.4.0",
    "jasmine-reporters": "^2.3.1",
    "jasmine-spec-reporter": "^4.2.1",
    "karma": "^4.2.0",
    "karma-chrome-launcher": "^3.0.0",
    "karma-cli": "^2.0.0",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "karma-html-reporter": "^0.2.7",
    "karma-jasmine": "^2.0.1",
    "karma-jasmine-html-reporter": "^1.4.2",
    "karma-junit-reporter": "^1.2.0",
    "karma-teamcity-reporter": "^1.1.0",
    "moment": "^2.22.1",
    "prettier": "1.13.4",
    "protractor": "^5.4.2",
    "protractor-beautiful-reporter": "^1.2.1",
    "protractor-cucumber-framework": "^5.0.0",
    "puppeteer": "^1.14.0",
    "request": "^2.87.0",
    "request-promise-native": "^1.0.5",
    "ts-node": "^3.3.0",
    "tslint": "^5.18.0",
    "tslint-angular": "^1.1.2",
    "typescript": "3.4.5",
    "webpack-bundle-analyzer": "^3.3.2",
    "xlsx": "^0.12.13"
  },
  "browser": {
    "fs": false,
    "path": false,
    "os": false,
    "crypto": false,
    "stream": false,
    "http": false,
    "tls": false,
    "zlib": false,
    "https": false,
    "net": false
  }
}

Bekomme immer noch diese Fehler:

(node:15956) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added. Use emitter.setMaxListeners() to increase limit
internal/modules/cjs/loader.js:638
    throw err;
    ^

Error: Cannot find module 'C:\Source\nien\vital10-frontend\patch-webpack.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: `node patch-webpack.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\nien\AppData\Roaming\npm-cache\_logs\2019-07-23T10_59_04_891Z-debug.log
PS C:\Source\nien\vital10-frontend>

Ich bekomme immer noch diese drei Fehler:

ERROR in ./node_modules/resolve/lib/async.js
Module not found: Error: Can't resolve 'fs' in 'C:\Source\nien\vital10-frontend\node_modules\resolve\lib'
ERROR in ./node_modules/resolve/lib/sync.js
Module not found: Error: Can't resolve 'fs' in 'C:\Source\nien\vital10-frontend\node_modules\resolve\lib'
ERROR in ./node_modules/tslint/lib/utils.js
Module not found: Error: Can't resolve 'fs' in 'C:\Source\nien\vital10-frontend\node_modules\tslint\lib'
i 「wdm」: Failed to compile.

  • hast du versucht zu entfernen "fs": "0.0.1-security", aus Ihrer package.json?

    – Christheoreo

    23. Juli 2019 um 10:20 Uhr

  • kannst du “npm audit fix” ausführen

    – yanky_cranky

    23. Juli 2019 um 10:24 Uhr

  • Ja, das kann ich ausführen, aber nicht lösen

    – mächtiger Code Newton

    23. Juli 2019 um 12:08 Uhr

Benutzer-Avatar
Anjana Silva

Der Fehler liegt daran angular-cli unterstützt keine Module in Knoten wie “fs” und “path”. (Ausgabe)

Fügen Sie Folgendes zum Stammverzeichnis der Datei „package.json“ hinzu.

"browser": {
  "fs": false,
  "path": false,
  "os": false
}

Ich hoffe, das hilft jemandem.

Vielen Dank.

  • Bekomme immer noch den Fehler. Ich verwende Angular 10. Electron 10.1 Wo soll ich Ihren Code einfügen? im Wurzelknoten? oder innerhalb des Knotens “Abhängigkeiten”?

    – JeeShen Lee

    8. September 2020 um 10:34 Uhr


  • Hast du überprüft packages.json Datei?

    – Anjana Silva

    9. September 2020 um 6:58 Uhr

  • Ich habe diesen Fehler erhalten, als ich versucht habe, das Firebase/Testing-Modul in Angular 10-Tests zu verwenden. Das hat es für mich gelöst, außer dass ich ein paar weitere Bibliotheken einbinden musste, so dass es am Ende war: "browser": { "fs": false, "path": false, "os": false, "net": false, "tls": false }

    – Alex Egli

    12. November 2020 um 17:32 Uhr

  • Ist die Datei nicht benannt package.json und nicht packages.json? (Singular) – Funktioniert nicht mit Webpack 5.

    – Vadoranfrage

    8. Mai 2021 um 9:34 Uhr


  • Korrigieren Sie @Vadorequest

    – Anjana Silva

    4. Juni 2021 um 15:17 Uhr

Zum Webpack > 5

aktualisieren webpack.config.js

module.exports = {
    ...
    resolve: {
        fallback: {
            "fs": false
        },
    }
}

„fs“ kann nicht aufgelöst werden, wenn es mit Webpack Nr. 447 gebündelt ist

  • Es scheint für einige Leute zu funktionieren, aber es funktioniert nicht für mich, wenn ich Next.js v10.2 verwende.

    – Vadoranfrage

    8. Mai 2021 um 9:38 Uhr

  • Wie können wir das für Karma konfigurieren, um leere oder simulierte Module für die Testumgebung bereitzustellen?

    – Guntram

    22. Oktober 2021 um 14:07 Uhr

  • arbeitet für mich mit Cra 5 und Customize-Cra

    – Paketverfolgung

    9. Februar um 18:33 Uhr

Benutzer-Avatar
Das ist mein Name

Für mich bestand die Lösung darin, dies zur Webpack-Konfiguration hinzuzufügen:

config.node = {
  fs: 'empty',
}

Eine andere Lösung, wenn Sie NuxtJS verwenden:

// Build Configuration: https://go.nuxtjs.dev/config-build
build: {
    extend(config, {}) {
        config.node = {
            fs: 'empty'
        }
    }
},

Wenn Sie NextJS verwenden (nicht getestet, bestätigen Sie bitte, dass es in Kommentaren funktioniert):

webpack: (config, { buildId, dev, isServer, defaultLoaders, webpack }) => {
  config.node = {
    fs: 'empty'
  }
  return config
},

In anderen Fällen verweisen wir auf den Beitrag von Anjana Silva. Eine Bearbeitung Ihrer package.json-Datei kann die Aufgabe erledigen!

  • Das hat bei mir auf wundersame Weise funktioniert. Ich verwende Webpack über NextJS (nicht NuxtJS).

    – Marty McGee

    14. Januar 2021 um 8:00 Uhr

  • Es hat auch für mich funktioniert, indem ich Webpack für Storybook in einem Monorepo mit nx- und npm/yarn-Arbeitsbereichen verwendet habe. Vielen Dank!

    – McGiogen

    11. Februar 2021 um 11:22 Uhr

  • NB: Ich habe gefunden webpack.config.js in /node_modules/react_scripts/config/ Mappe.

    Benutzer1300214

    26. Januar um 15:01 Uhr

  • Diese Nuxt-Lösung hat bei mir funktioniert

    – Josef Bart

    5. April um 19:11 Uhr

tl;dr

Für Leute, die für Node.js transpilieren: add target: node zum webpack.config.js Datei.

Erläuterung

Ich weiß, dass dies eine Angular-Frage ist, aber diejenigen, die für Node.js transpilieren, müssen bedenken, dass Webpack standardmäßig für Browserziele transpiliert, bei denen Sie keine Module haben, die nur von Node.js bereitgestellt werden. Wenn Ihre Umgebung, in der Sie den transpilierten Code ausführen werden, tatsächlich Node.js ist, markieren Sie ihn einfach in der Konfigurationsdatei mit target: node.

Zum WeiterJS 12: next.config.js

module.exports = (phase, { defaultConfig }) => {
  return {
    ...defaultConfig,

    webpack: (config) => {
      config.resolve = {
        ...config.resolve,
        fallback: {
          "fs": false,
          "path": false,
          "os": false,
        }
      }
      return config
    },
  }
}

  • Für alle, die versuchen zu folgen dev.to/adrai/… Um i18n auf dem SSG von Nextjs zu erreichen, ist dies die Lösung für die can't resolve fs Ausgabe!

    – KuN

    26. Januar um 21:54 Uhr

Benutzer-Avatar
Zsolt Meszaros

Einfach hinzufügen {node:'empty'} zu deinem webpack.config Datei.

  • Für alle, die versuchen zu folgen dev.to/adrai/… Um i18n auf dem SSG von Nextjs zu erreichen, ist dies die Lösung für die can't resolve fs Ausgabe!

    – KuN

    26. Januar um 21:54 Uhr

Benutzer-Avatar
Raumanzug haben

Ich habe den gleichen Fehler erhalten, aber es war auf meinen Fehler zurückzuführen, da ich Axios für eine Netzwerkanfrage verwende, aber irgendwann in meiner App habe ich Weiterleitung eingegeben und die Eingabetaste gedrückt, und meine Codevervollständigung hat den Import von {Umleitung} importiert “nächster/dist/nächster-server/server/api-utils”;’ Durch das Entfernen dieser Zeile konnte ich mit „Next Build“ fortfahren.

Siehe diesen Link als Referenz: https://github.com/vercel/next.js/issues/9768

  • Nun, das hat mir gerade eine Menge Zeit gespart. Anscheinend hat die automatische Vervollständigung von VSCode “import { response } from “express”; ” am Anfang meiner Datei hinzugefügt, und ich habe es nicht bemerkt. Vielen Dank!!

    – DXM

    12. März 2021 um 17:25 Uhr

1206290cookie-checkModul nicht gefunden: Fehler: „fs“ kann nicht aufgelöst werden in

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy