Javascript 什么';找出依赖Node.js的模块崩溃的方法是什么?
我的Node.js应用程序以前运行得很好。我把这个Node.js应用程序放在一边几个月,然后回来在一台新机器上继续开发它。错误发生了!!! 错误信息如下:Javascript 什么';找出依赖Node.js的模块崩溃的方法是什么?,javascript,node.js,Javascript,Node.js,我的Node.js应用程序以前运行得很好。我把这个Node.js应用程序放在一边几个月,然后回来在一台新机器上继续开发它。错误发生了!!! 错误信息如下: fs.js:27 const { Math, Object } = primordials; ^ ReferenceError: primordials is not defined at fs.js:27:26 at req_ (/Users/xiaoningchang/D
fs.js:27
const { Math, Object } = primordials;
^
ReferenceError: primordials is not defined
at fs.js:27:26
at req_ (/Users/xiaoningchang/Documents/Code/udfinder/avdetector/node_modules/natives/index.js:143:24)
at Object.req [as require] (/Users/xiaoningchang/Documents/Code/udfinder/avdetector/node_modules/natives/index.js:55:10)
at Object.<anonymous> (/Users/xiaoningchang/Documents/Code/udfinder/avdetector/node_modules/graceful-ncp/node_modules/graceful-fs/fs.js:1:37)
at Module._compile (internal/modules/cjs/loader.js:936:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:947:10)
at Module.load (internal/modules/cjs/loader.js:790:32)
at Function.Module._load (internal/modules/cjs/loader.js:703:12)
at Module.require (internal/modules/cjs/loader.js:830:19)
at require (internal/modules/cjs/helpers.js:68:18)
依赖模块本地人中似乎有问题。但是,根据package.json
文件,应用程序不依赖本地人
模块。此外,在natives
模块的index.js
文件中没有名为primordials
的变量
补充资料:
Node.js版本:12.10.0;
npm版本:6.11.3;
我还遇到了一个错误,gyp ERR!当我安装npm时,生成错误
。我使用命令npm audit fix
来修复它。这与我的问题有关吗
有人能帮我解决这个问题吗?我是Node.js新手,没有多少调试自己代码的经验。非常感谢。本地npm软件包已被弃用:
如果你翻开它的页面,他们警告说这个包可能会在未来的节点版本中被破坏——他们严肃地建议首先也不要使用这个包。我想可能是不同的操作系统或节点版本造成的。您的package.json
中没有将本机作为依赖项列出,这意味着至少有一个依赖项使用本机-或者某个依赖项的依赖项,等等…-
检查哪些依赖项正在使用本机的一种方法是运行:
$npm ls本地人
我在本地机器MacOS 10中的一个项目中安装了您的依赖项并运行了它,而且似乎优雅的fs
正在使用本地人
graceful fs
是graceful ncp
的依赖项,它列在您的package.json中
当我安装$npm
时,我收到了几个警告,其中一个警告是关于将优雅fs
升级到版本4,以避免将来升级节点版本时出现错误
优雅的ncp
软件包目前在3.0.0版上,因此我将package.json
中的版本升级到3.0.0。然后$rm-rf node_模块和npm i
在此之后,$npm ls natives
将产生空值,这意味着升级优雅的ncp
版本将解决您的问题-当然,您可能需要添加代码更改以避免破坏优雅的ncp
的更改 新机器的操作系统与旧机器相同?它是服务器机器,还是本地开发机器?您是否尝试rm-rf节点_模块;npm安装完成了吗?节点版本相同?您是否尝试过像npm i
和更新节点和npm这样的通用解决方案?似乎一个本机模块正试图从一个未声明的变量中提取一个属性,这显然不是您的问题。@Sergeon操作系统则不同。我不确定node的版本是否相同。我只是rm-rf结节_模块
和npm安装
,但同样的错误再次出现。@MohammedMortaga。我只是rm-rf节点\ U模块
和npm I
。但同样的问题再次出现。@Sergeon我只是检查了我以前机器上Node的版本,即11.6.0。node的验证与我的问题有关吗?你的建议救了我!非常感谢!
{
"name": "meminsight",
"version": "0.0.1",
"description": "JavaScript memory analyses",
"repository": {
"type": "git",
"url": "https://github.com/Samsung/meminsight.git"
},
"dependencies": {
"acorn": "3.1.0",
"argparse": "0.1.15",
"aspect-js": "^1.0.3",
"callsites": "^2.0.0",
"chai": "^4.1.2",
"codemirror": "5.1.0",
"cover": "0.2.9",
"datatables": "^1.10.18",
"ejs": "1.0.0",
"escope": "1.0.1",
"esotope": "1.4.5",
"estraverse": "4.0.0",
"execSync": "1.0.2",
"expect.js": "^0.3.1",
"express": "3.4.8",
"fast-stats": "0.0.2",
"finalhandler": "0.0.3",
"graceful-ncp": "2.0.0",
"grunt": "0.4.5",
"jquery": "2.1.3",
"jsonparse": "0.0.6",
"line-by-line": "0.1.3",
"line-reader": "^0.4.0",
"log4js": "^2.3.11",
"mkdirp": "0.5.0",
"mocha": "^1.20.1",
"multi-key-cache": "^1.0.2",
"parse5": "2.1.5",
"q": "1.2.0",
"rewriting-proxy": "0.5.1",
"rimraf": "2.2.8",
"serve-static": "^1.14.1",
"sloc": "^0.2.1",
"temp": "0.8.1",
"websocket": "^1.0.30",
"wrench": "1.5.8"
},
"scripts": {
"test": "(cat test/testSuite.txt | sed 's/^/test\\//' | xargs ./node_modules/.bin/mocha --reporter spec --harmony) && cd lifetime-analysis && ./gradlew cleanTest test && cd ..",
"build": "grunt typescript"
},
"devDependencies": {
"grunt-cli": "0.1.13",
"grunt-exec": "^0.4.6",
"grunt-simple-mocha": "0.4.0",
"grunt-typescript": "^0.8.0",
"jasmine": "^2.8.0"
},
"license": "Apache-2.0"
}