节点应用程序无法在 mojave 上运行:ReferenceError: internalBinding 未定义

     2023-02-18     39

关键词:

【中文标题】节点应用程序无法在 mojave 上运行:ReferenceError: internalBinding 未定义【英文标题】:node app fails to run on mojave: ReferenceError: internalBinding is not defined 【发布时间】:2019-04-08 08:10:17 【问题描述】:

我尝试运行一个节点应用程序,但该应用程序在 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! myapp@1.0.0 dev: `node node_modules/gulp/bin/gulp.js build_dev`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the myapp@1.0.0 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

【问题讨论】:

嗯,您最近升级了 Node.js 吗?尝试删除 node_modules 并从头开始重新安装。 嗨,这已经是一个干净的安装,因为我已经从 repo 克隆了应用程序并尝试在 Mojave os 上运行 所有其他机器也有节点11.1? 【参考方案1】:

就我而言,问题出在 node_modules 安装上,因此请执行以下操作。

执行yarn audit 检查您是否有任何严重漏洞 要么升级模块的版本,要么搜索替代模块。 yarn install 你应该很高兴

注意:在我的例子中,问题不在于节点版本,它只是一个易受攻击的模块(gulp-angular-templatecache)。如果上述方法不起作用,我还建议您使用npm upgradenpm rebuild

npm audit 不适用于私有存储库,但 yarn audit 可以。

【讨论】:

【参考方案2】:

我将 Node 版本从 10.15.0(LTS) 降级到 10.10.0。这个为我修复了 internalBinding 错误。

sudo npm cache clean -f
sudo npm install -g n
sudo n 10.10.0

【讨论】:

这对我不起作用,因为它没有切换到旧版本,但我可以用 nvm 做同样的事情,并且有效。【参考方案3】:

尝试将natives 更新到最新版本。 This commit 似乎解决了您遇到的问题。

【讨论】:

更新到natives@1.1.6版本,现在可以使用了,非常感谢!

无论我尝试啥,GDB 都无法在我的 Mac (Mojave) 上运行。常见错误,但我没有找到解决方案

】无论我尝试啥,GDB都无法在我的Mac(Mojave)上运行。常见错误,但我没有找到解决方案【英文标题】:NomatterwhatItried,GDBjustwon\'tworkonmyMac(Mojave).CommonerrorbutI\'vefoundnosolutions无论我尝试什么,GDB都无法在我的Mac(Mojave)上运行。常见错... 查看详情

无法在 MACOS mojave 上运行来自 python 2.7 的 postgres 请求

】无法在MACOSmojave上运行来自python2.7的postgres请求【英文标题】:Cannotrunpostgresrequestfrompython2.7onMACOSmojave【发布时间】:2019-05-2211:35:59【问题描述】:我正在尝试在PostgresDB上运行python2.7代码(查询)。关于安装的pyodbc版本,它会... 查看详情

无法在 Mojave 上安装 XCode

】无法在Mojave上安装XCode【英文标题】:CannotinstallXCodeonMojave【发布时间】:2020-07-1716:16:13【问题描述】:我正在运行MacOS10.14.6,并希望将XCode安装到/Applications文件夹中。尝试使用Appstore下载它,我收到错误消息“无法安装Xcode,... 查看详情

辅助功能检查器无法在 MacOS Catalina 和 Mojave 上的 Xcode 11.x、iOS 13.x 上运行

】辅助功能检查器无法在MacOSCatalina和Mojave上的Xcode11.x、iOS13.x上运行【英文标题】:AccessibilityInspectornotworkingonXcode11.x,iOS13.xonMacOSCatalina&Mojave【发布时间】:2019-12-1301:35:41【问题描述】:我无法在iOS13.2和MacOSMojave或Catalina上运行... 查看详情

OpenCV 命令行应用程序无法在 macOS Mojave 下访问相机

】OpenCV命令行应用程序无法在macOSMojave下访问相机【英文标题】:OpenCVcommandlineappcan\'taccesscameraundermacOSMojave【发布时间】:2019-09-2818:12:33【问题描述】:我无法从命令行OpenCV程序访问iMac相机。(我在CodeRunner下编译和运行程序,... 查看详情

无法在 Mac OS X Mojave 上重新启动 Apache 2

】无法在MacOSXMojave上重新启动Apache2【英文标题】:Can\'tRestartApache2onMacOSXMojave【发布时间】:2019-05-2009:41:07【问题描述】:在升级到MacOSXMojave之前,我曾经能够运行此命令。$sudoapachectl-krestart现在,我不断得到httpd:/private/etc/apach... 查看详情

OpenGL Glut显示功能在Mojave上显示黑屏[关闭]

...作业运行一个非常简单的示例,但由于某种原因,该代码无法在我的xcode上运行。我目前在macOSMojave上使用Xcode10。以下是代码 查看详情

Valgrind 不能在 MacOS Mojave 上运行?与康达一起安装

】Valgrind不能在MacOSMojave上运行?与康达一起安装【英文标题】:ValgrindnotworkingonMacOSMojave?InstalledwithConda【发布时间】:2019-03-0106:51:36【问题描述】:我正在尝试检查我用C编写的程序中的内存泄漏。我正在运行MacOSMojave。当我运行... 查看详情

java和mojave的强化运行时

我目前在macOS上使用packagedandsigned分发Java应用程序pkgbuild。最近,Apple警告开发者:“在即将发布的macOS版本中,Gatekeeper将要求开发者ID签名的软件由Apple提供notarized。”在阅读公证文件后,苹果warnsdevelopers:“你必须启用hardenedrun... 查看详情

在 Mojave 上更新到 Xcode 10.1,现在我的应用程序总是要求使用麦克风

】在Mojave上更新到Xcode10.1,现在我的应用程序总是要求使用麦克风【英文标题】:UpdatedtoXcode10.1onMojaveandnowmyappalwaysaskstousethemicrophone【发布时间】:2018-11-0121:55:46【问题描述】:我正在运行一个AVAudioSession,我怀疑它正在激活麦... 查看详情

如何在 PDF 文件上保存水印并导出到桌面 macOS Mojave

...18-11-2115:18:17【问题描述】:我有一个在macOSMojave中运行的应用程序,它运行良好。我可以将pdf文件拖到PDFView上,并且可以放置一个按钮来在pdf文件上标记水印。我从苹果WWDC获得了为iOS编写 查看详情

无法在 mac os x mojave 上安装 mysqlclient

】无法在macosxmojave上安装mysqlclient【英文标题】:can\'tinstallmysqlclientonmacosxmojave【发布时间】:2019-04-0606:11:14【问题描述】:我正在尝试在macosxmojave上安装mysqlclient:sudopip3installmysqlclient我收到以下错误:clang-Wno-unused-result-Wsign-comp... 查看详情

在 OSX Mojave 上安装 DateTime 时遇到问题

...奋并移植了我所有的旧东西。现在所有脚本都失败了,我无法通过cpan安装任何新模块。因此,经过一些研究,我选择退出per 查看详情

如何修复“错误:无法构建 gem 原生扩展。”在 macOS Mojave 上安装 eventmachine 时

】如何修复“错误:无法构建gem原生扩展。”在macOSMojave上安装eventmachine时【英文标题】:Howtofix"ERROR:Failedtobuildgemnativeextension."wheninstallingeventmachineonmacOSMojave【发布时间】:2019-07-0612:07:12【问题描述】:我是ruby​​和命... 查看详情

我无法在 Mac OS X Mojave 上安装 GRPC

】我无法在MacOSXMojave上安装GRPC【英文标题】:IcannotinstallGRPConMacOSXMojave【发布时间】:2019-05-0406:48:08【问题描述】:我使用macmojave并尝试安装grpc:sudopeclinstallgrpc我使用MAMP。触发的错误是:/bin/sh/private/tmp/pear/install/pear-build-root9h4CA... 查看详情

无法在远程服务器上调试节点应用程序

】无法在远程服务器上调试节点应用程序【英文标题】:Can\'tdebugnodeapplicationonremoteserver【发布时间】:2019-08-0607:50:18【问题描述】:我正在远程服务器(my-domain.com)上运行express应用程序:node--inspect=0.0.0.0:9229./server.js在intellijidea我... 查看详情

无法在 MacOS Mojave 10.14.6、R 3.5.1 上安装 devtools 包

】无法在MacOSMojave10.14.6、R3.5.1上安装devtools包【英文标题】:UnabletoinstalldevtoolspackageonMacOSMojave10.14.6,R3.5.1【发布时间】:2020-03-0609:50:58【问题描述】:我在R中安装devtools包时遇到问题,而且似乎在Mac上已经遇到过这个问题。我正... 查看详情

Mac OS Mojave 更新后 Apache 无法运行:无法访问此站点。 mysite.test 拒绝连接

】MacOSMojave更新后Apache无法运行:无法访问此站点。mysite.test拒绝连接【英文标题】:ApachenotworkingafterMacOSMojaveUpdate:Thissitecan’tbereached.mysite.testrefusedtoconnect【发布时间】:2020-03-0523:50:56【问题描述】:我刚刚更新到Mojave10.14.6。在... 查看详情