[英]React app won't start on “npm start” command - “process out of memory” error
我有一个 React 应用程序,我试图通过运行npm start
来启动它。 此应用程序目前是 Firebase 项目的一部分,并使用 Firebase Cloud Functions 作为其后端,但以前使用节点服务器作为后端。 当我使用节点服务器时,通过在节点应用程序中运行npm run dev
和在 React 应用程序中npm start
应用程序并在本地开发没有问题。 在从节点应用程序过渡到 Firebase 应用程序的过程中的某个地方,我不再能够在本地启动我的 React 应用程序,我想这样做是为了能够在本地开发。 这是我尝试运行命令时在控制台中遇到的错误:
[28951:0x158008000] 4427 ms: Scavenge 66.2 (95.0) -> 56.5 (95.0) MB, 15.8 / 0.0 ms (average mu = 0.997, current mu = 0.997) allocation failure
<--- JS stacktrace --->
FATAL ERROR: wasm code commit Allocation failed - process out of memory
1: 0x1007ff344 node::Abort() [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
2: 0x1007ff4c4 node::errors::TryCatchScope::~TryCatchScope() [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
3: 0x10091eb98 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
4: 0x10091eb2c v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
5: 0x100e572dc v8::internal::wasm::WasmCodeAllocator::AllocateForCodeInRegion(v8::internal::wasm::NativeModule*, unsigned long, v8::base::AddressRegion) [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
6: 0x100e581b8 v8::internal::wasm::NativeModule::CreateEmptyJumpTableInRegion(unsigned int, v8::base::AddressRegion) [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
7: 0x100e57680 v8::internal::wasm::NativeModule::AddCodeSpace(v8::base::AddressRegion) [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
8: 0x100e57ff4 v8::internal::wasm::NativeModule::NativeModule(v8::internal::wasm::WasmEngine*, v8::internal::wasm::WasmFeatures const&, bool, v8::internal::VirtualMemory, std::__1::shared_ptr<v8::internal::wasm::WasmModule const>, std::__1::shared_ptr<v8::internal::Counters>, std::__1::shared_ptr<v8::internal::wasm::NativeModule>*) [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
9: 0x100e5a234 v8::internal::wasm::WasmCodeManager::NewNativeModule(v8::internal::wasm::WasmEngine*, v8::internal::Isolate*, v8::internal::wasm::WasmFeatures const&, unsigned long, bool, std::__1::shared_ptr<v8::internal::wasm::WasmModule const>) [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
10: 0x100e60b3c v8::internal::wasm::WasmEngine::NewNativeModule(v8::internal::Isolate*, v8::internal::wasm::WasmFeatures const&, unsigned long, bool, std::__1::shared_ptr<v8::internal::wasm::WasmModule const>) [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
11: 0x100e60a84 v8::internal::wasm::WasmEngine::NewNativeModule(v8::internal::Isolate*, v8::internal::wasm::WasmFeatures const&, std::__1::shared_ptr<v8::internal::wasm::WasmModule const>) [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
12: 0x100e39464 v8::internal::wasm::AsyncCompileJob::CreateNativeModule(std::__1::shared_ptr<v8::internal::wasm::WasmModule const>) [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
13: 0x100e42178 v8::internal::wasm::AsyncCompileJob::PrepareAndStartCompile::RunInForeground(v8::internal::wasm::AsyncCompileJob*) [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
14: 0x100e42a08 v8::internal::wasm::AsyncCompileJob::CompileTask::RunInternal() [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
15: 0x10085efa4 node::PerIsolatePlatformData::RunForegroundTask(std::__1::unique_ptr<v8::Task, std::__1::default_delete<v8::Task> >) [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
16: 0x10085dfbc node::PerIsolatePlatformData::FlushForegroundTasksInternal() [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
17: 0x100fb3ac8 uv__async_io [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
18: 0x100fc5688 uv__io_poll [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
19: 0x100fb3f58 uv_run [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
20: 0x10083a8b4 node::NodeMainInstance::Run() [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
21: 0x1007d9604 node::Start(int, char**) [/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node]
22: 0x182718f54 start [/usr/lib/system/libdyld.dylib]
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! personal-site@0.1.0 start: `react-scripts start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the personal-site@0.1.0 start 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/salinawu/.npm/_logs/2021-01-19T07_02_03_221Z-debug.log
这是日志文件的内容:
1 verbose cli [
1 verbose cli '/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node',
1 verbose cli '/Users/salinawu/.nvm/versions/node/v12.20.1/bin/npm',
1 verbose cli 'start'
1 verbose cli ]
2 info using npm@6.14.11
3 info using node@v12.20.1
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle personal-site-backend@0.1.0~prestart: personal-site-backend@0.1.0
6 info lifecycle personal-site-backend@0.1.0~start: personal-site-backend@0.1.0
7 verbose lifecycle personal-site-backend@0.1.0~start: unsafe-perm in lifecycle true
8 verbose lifecycle personal-site-backend@0.1.0~start: PATH: /Users/salinawu/.nvm/versions/node/v12.20.1/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/salinawu/projects/website/app/node_modules/.bin:/Users/salinawu/Downloads/google-cloud-sdk/bin:/Users/salinawu/.nvm/versions/node/v12.20.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
9 verbose lifecycle personal-site-backend@0.1.0~start: CWD: /Users/salinawu/projects/website/app
10 silly lifecycle personal-site-backend@0.1.0~start: Args: [ '-c', 'react-scripts start' ]
11 silly lifecycle personal-site-backend@0.1.0~start: Returned: code: 1 signal: null
12 info lifecycle personal-site-backend@0.1.0~start: Failed to exec start script
13 verbose stack Error: personal-site-backend@0.1.0 start: `react-scripts start`
13 verbose stack Exit status 1
13 verbose stack at EventEmitter.<anonymous> (/Users/salinawu/.nvm/versions/node/v12.20.1/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack at EventEmitter.emit (events.js:314:20)
13 verbose stack at ChildProcess.<anonymous> (/Users/salinawu/.nvm/versions/node/v12.20.1/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack at ChildProcess.emit (events.js:314:20)
13 verbose stack at maybeClose (internal/child_process.js:1022:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:287:5)
14 verbose pkgid personal-site-backend@0.1.0
15 verbose cwd /Users/salinawu/projects/website/app
16 verbose Darwin 20.1.0
17 verbose argv "/Users/salinawu/.nvm/versions/node/v12.20.1/bin/node" "/Users/salinawu/.nvm/versions/node/v12.20.1/bin/npm" "start"
18 verbose node v12.20.1
19 verbose npm v6.14.11
20 error code ELIFECYCLE
21 error errno 1
22 error personal-site-backend@0.1.0 start: `react-scripts start`
22 error Exit status 1
23 error Failed at the personal-site-backend@0.1.0 start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
我真的不确定如何解决这个问题以及为什么会发生这种情况。 我试过删除我的节点模块和缓存并运行npm install
,但我得到了同样的结果。 提前致谢!
程序似乎达到了您的 memory 限制。 在 windows 中,您可以通过以下方式扩展 windows 中的节点 memory 限制:
set NODE_OPTIONS=--max_old_space_size=Value_In_MB
在 Unix 中:
export NODE_OPTIONS=--max_old_space_size=Value_In_MB
注意:这是一个非常具体的问题。 它可能与您的操作系统、设备、版本等有关。这种方法可能会节省时间。
因此,在运行npm install
时,下载fsevents
package 是一个问题,这是由react-scripts
拉入的。 这是我看到的错误:
node-pre-gyp WARN Tried to download(404): https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.2.4/fse-v1.2.4-node-v67-darwin-x64.tar.gz
node-pre-gyp WARN Pre-built binaries not found for fsevents@1.2.4 and node@11.2.0 (node-v67 ABI, unknown) (falling back to source compile with node-gyp)
SOLINK_MODULE(target) Release/.node
在尝试了本期( https://github.com/fsevents/fsevents/issues/246 )中列出的许多建议后,我终于在底部找到了我的解决方案,即升级我的react-scripts
package版本我的package.json
文件到^3.4.3
(它最初是 2.1.8)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.