webentwicklung-frage-antwort-db.com.de

knoten-App kann nicht auf Mojave ausgeführt werden: ReferenceError: InternalBinding ist nicht definiert

Ich habe versucht, eine Knoten-App auszuführen, die sowohl unter High Sierra als auch unter Windows 10 problemlos ausgeführt werden kann, aber auf Mojave 10.14.1 ..__ fehlschlägt.

[23:44:42] Requiring external module babel-register
fs.js:25
'use strict';
^

ReferenceError: internalBinding is not defined
    at fs.js:25:1
    at req_ (/Users/user1/Documents/NodeProjects/myapp/node_modules/natives/index.js:137:5)
    at Object.req [as require] (/Users/user1/Documents/NodeProjects/myapp/node_modules/natives/index.js:54:10)
    at Object.<anonymous> (/Users/user1/Documents/NodeProjects/myapp/node_modules/vinyl-fs/node_modules/graceful-fs/fs.js:1:37)
    at Module._compile (internal/modules/cjs/loader.js:707:30)
    at Module._extensions..js (internal/modules/cjs/loader.js:718:10)
    at Object.require.extensions.(anonymous function) [as .js] (/Users/user1/Documents/NodeProjects/myapp/node_modules/babel-register/lib/node.js:152:7)
    at Module.load (internal/modules/cjs/loader.js:605:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:544:12)
    at Function.Module._load (internal/modules/cjs/loader.js:536:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] dev: `node node_modules/gulp/bin/gulp.js build_dev`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] dev 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!     /Users/user1/.npm/_logs/2018-11-04T22_44_42_709Z-debug.log

Dies ist der Inhalt der package.json-Datei mit allen in der Anwendung verwendeten Abhängigkeiten:

{
  "name": "myapp",
  "version": "1.0.0",
  "description": "",
  "main": "server.js",
  "scripts": {
    "test-dev": "node node_modules/gulp/bin/gulp.js test_dev",
    "test-prod": "node node_modules/gulp/bin/gulp.js test_prod",
    "dev": "node node_modules/gulp/bin/gulp.js build_dev",
    "prod": "node node_modules/gulp/bin/gulp.js build_prod"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "babel-polyfill": "^6.26.0",
    "body-parser": "^1.17.2",
    "cookie-parser": "^1.4.3",
    "envify": "^4.1.0",
    "express": "^4.16.2",
    "glob": "^7.1.2",
    "http-status-codes": "^1.1.6",
    "morgan": "^1.8.2",
    "multi-glob": "^1.0.1",
    "npm": "^6.4.1",
    "path": "^0.12.7"
  },
  "devDependencies": {
    "babel-cli": "^6.24.1",
    "babel-core": "^6.26.0",
    "babel-plugin-syntax-async-functions": "^6.13.0",
    "babel-plugin-transform-async-to-generator": "^6.24.1",
    "babel-preset-env": "^1.6.0",
    "babel-register": "^6.24.1",
    "babelify": "^7.3.0",
    "browser-sync": "^2.26.3",
    "browserify": "^16.1.0",
    "gulp": "^3.9.1",
    "gulp-concat": "^2.6.1",
    "gulp-if": "^2.0.2",
    "gulp-imagemin": "^3.3.0",
    "gulp-minify-css": "^1.2.4",
    "gulp-nodemon": "^2.2.1",
    "gulp-notify": "^3.0.0",
    "gulp-rename": "^1.2.2",
    "gulp-sass": "^3.1.0",
    "gulp-sass-glob": "^1.0.8",
    "gulp-sourcemaps": "^2.6.0",
    "gulp-uglify": "^3.0.0",
    "gulp-util": "^3.0.8",
    "imagemin-pngquant": "^5.0.1",
    "run-sequence": "^2.2.0",
    "vinyl-buffer": "^1.0.0",
    "vinyl-source-stream": "^1.1.0"
  }
}

Gibt es einen Hinweis, wie Sie dieses Problem beheben können? Könnte mit der gcc-Compilerversion zusammenhängen?

knotenversion: 11.1.0 npm-Version: 6.4.1

Unter diesem Link habe ich das Protokoll des Befehls "npm install" hochgeladen, um Abhängigkeiten zu installieren: npm_install.log

9
revy

Aktualisieren Sie natives auf die neueste Version. Dieses Commit scheint das Problem zu lösen, das Sie haben.

15
Primož Hadalin

Ich habe die Knotenversion von 10.15.0 (LTS) auf 10.10.0 heruntergestuft. Und dieser Fehler für internalBinding wurde für mich behoben.

Sudo npm cache clean -f
Sudo npm install -g n
Sudo n 10.10.0
3
Ihor Khomiak

In meinem Fall lag das Problem bei der Installation von node_modules. Gehen Sie daher folgendermaßen vor.

  • Einen yarn audit durchführen
  • Prüfen Sie, ob Sie kritische Schwachstellen haben
  • Aktualisieren Sie entweder die Version des Moduls oder suchen Sie nach einem alternativen Modul.
  • yarn install
  • Du solltest gut sein

Hinweis: Das Problem lag nicht bei der Knotenversion in meinem Fall vor, es war nur ein verwundbares Modul (gulp-angle-templatecache). Ich schlage auch vor, dass Sie npm upgrade und npm rebuild tun, wenn die obige Methode nicht funktioniert.

npm audit funktioniert nicht mit privaten Repositorys, yarn audit jedoch.

0
Santosh