it-roy-ru.com

приложение узла не запускается на mojave: ReferenceError: внутренняя привязка не определена

Я попытался безуспешно запустить приложение узла, которое отлично работает как в High Sierra, так и в Windows 10, но не работает в Mojave 10.14.1 . Эта ошибка отображается при запуске задачи gulp build_dev:

[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

Это содержимое файла package.json со всеми зависимостями, используемыми в приложении:

{
  "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"
  }
}

Любой намек на то, как отладить эту проблему? Может быть связано с версией компилятора gcc?

версия узла: 11.1.0 версия npm: 6.4.1

По этой ссылке я загрузил журнал команды «npm install» для установки зависимостей: npm_install.log

9
revy

Попробуйте обновить natives до последней версии. Это commit, кажется, решает проблему, с которой вы столкнулись.

15
Primož Hadalin

Я понизил версию Node с 10.15.0 (LTS) до 10.10.0. И это исправило внутреннюю ошибку привязки для меня.

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

В моем случае проблема была в установке node_modules, поэтому сделайте следующее.

  • Выполнить yarn audit
  • Проверьте, есть ли у вас критические уязвимости
  • Либо обновите версию модуля, либо найдите альтернативный модуль.
  • yarn install
  • Вам должно быть хорошо идти

Примечание: проблема была не с версией узла, в моем случае это был просто уязвимый модуль (gulp-angular-templatecache). Я также предлагаю вам сделать npm upgrade и npm rebuild, если описанный выше метод не работает.

npm audit не работает с частными репозиториями, но yarn audit работает.

0
Santosh