Node.js NPM消耗所有可用内存
我正在尝试设置一个基本节点项目。我有一个新的node安装(我在单独的新安装中尝试了node 12 LTS和node 13。)当我尝试运行NPM时,我得到一个堆限制错误Node.js NPM消耗所有可用内存,node.js,windows,powershell,npm,Node.js,Windows,Powershell,Npm,我正在尝试设置一个基本节点项目。我有一个新的node安装(我在单独的新安装中尝试了node 12 LTS和node 13。)当我尝试运行NPM时,我得到一个堆限制错误 E:\Development\MyProject> npm help install --verbose FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory 1: 0
E:\Development\MyProject> npm help install --verbose
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
1: 00007FF784B5021F napi_wrap+124591
2: 00007FF784AF0296 v8::base::CPU::has_sse+35542
3: 00007FF784AF0F66 v8::base::CPU::has_sse+38822
4: 00007FF785317E6E v8::Isolate::ReportExternalAllocationLimitReached+94
5: 00007FF7852FF5C1 v8::SharedArrayBuffer::Externalize+785
6: 00007FF7851C690C v8::internal::Heap::EphemeronKeyWriteBarrierFromCode+1436
7: 00007FF7851D1C00 v8::internal::Heap::ProtectUnprotectedMemoryChunks+1312
8: 00007FF7851CE72F v8::internal::Heap::PageFlagsAreConsistent+3151
9: 00007FF7851C3E83 v8::internal::Heap::CollectGarbage+1283
10: 00007FF7851C6A5A v8::internal::Heap::EphemeronKeyWriteBarrierFromCode+1770
11: 00007FF7851BCDC3 v8::base::CPU::has_vfp3+467
12: 00007FF784A9F70C v8::internal::wasm::JSToWasmWrapperCompilationUnit::~JSToWasmWrapperCompilationUnit+101820
13: 00007FF784A9E6A1 v8::internal::wasm::JSToWasmWrapperCompilationUnit::~JSToWasmWrapperCompilationUnit+97617
14: 00007FF784B99C5B uv_async_send+331
15: 00007FF784B993FC uv_loop_init+1212
16: 00007FF784B995C4 uv_run+244
17: 00007FF784ABC0F3 v8::internal::interpreter::BytecodeArrayWriter::source_position_table_builder+29635
18: 00007FF784B18080 node::Start+288
19: 00007FF7849D66FC RC4_options+339452
20: 00007FF785817678 v8::internal::SetupIsolateDelegate::SetupHeap+1290008
21: 00007FFD91A67BD4 BaseThreadInitThunk+20
22: 00007FFD9334CED1 RtlUserThreadStart+33
无论我运行什么npm
命令,都会发生此错误。我曾尝试使用NODE\u OPTIONS
环境变量来增加内存限制,但这只会使NPM在失败之前花费更长的时间来消耗所有内存
能够运行NPM,我还缺少什么
当前环境
- Windows 10 w/Powershell
- 节点v13.2.0
package.json
,尽管错误发生在项目内部和外部
{
"name": "myProject",
"version": "1.0.0",
"description": "",
"main": "app.jsx",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"wp": "webpack",
"seed-db": "seed --db-name myProject --data ./seeds --drop-collection"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"@babel/core": "^7.4.3",
"@babel/plugin-proposal-class-properties": "^7.4.0",
"@babel/plugin-proposal-object-rest-spread": "^7.4.3",
"@babel/preset-env": "^7.4.3",
"@babel/preset-react": "^7.0.0",
"babel-loader": "^8.0.5",
"css-loader": "^1.0.1",
"jquery": "^3.4.0",
"node-sass": "^4.11.0",
"popper.js": "^1.15.0",
"react": "^16.8.6",
"react-dom": "^16.8.6",
"sass-loader": "^7.1.0",
"style-loader": "^0.21.0",
"uglifyjs-webpack-plugin": "^1.3.0",
"webpack": "^4.17.1",
"webpack-hot-middleware": "^2.24.3"
},
"dependencies": {
"axios": "^0.18.0",
"extract-text-webpack-plugin": "^4.0.0-beta.0",
"mongo-seeding": "^2.2.0",
"mongo-seeding-cli": "^2.2.0",
"npm": "^6.9.0",
"webpack-cli": "^3.3.0"
}
}
我不得不说这种行为很奇怪。由于无论您在何处运行的任何
npm
命令都会发生这种情况,因此您的npm安装可能刚刚中断。删除旧版本后,尝试从头开始重新安装npm
另外,尝试使用另一个包管理器。这并不理想,但它可能会让您在项目中取得更大的进步。在多次重新安装后,我终于发现了这个问题,这是由。根据问题的上下文,我最近遇到了一个驱动器故障,并安装了一个新的硬盘驱动器。这个新硬盘被赋予了一个不同的名称(从
a:
改为E:
),我发现了一个旧的.npmrc
,我在以前的过程中错过了它,它将NPM指向a:
硬盘上丢失的位置。一旦我删除了那个文件,重新启动并重新安装了节点,我就可以再次使用NPM命令了
我觉得奇怪的是,这个问题导致NPM默默地失败并耗尽了所有内存。你能包括你的
包.json
和npmrc
文件吗?我已经添加了我的包.json
,但我认为这与问题无关,因为错误发生在项目内部和外部。我没有npmrc
我问过,因为有时会有安装前/安装后的脚本做一些不好的事情。我想在你的情况下不会。这和从头开始重新安装节点一样吗?这一切都是从我换掉一个硬盘(以前的硬盘上有我的开发资料)开始的。我以前让npm/node工作过。。。在这次迭代中,我已经两次完全重新安装了它,没有任何运气。我想在temp或appdata
位置上可能有以前安装的一些残余。我可能会尝试从头开始重新安装。很高兴你找到了解决办法。