IPFS on React Native with nodes-mobile-react-native not working - MacOS

I am trying to add IPFS to react native app with nodes-mobile-react-native. Here is the steps I took on macOS Catalina with Xcode 11.2 and its command line tools installed

  1. create a react native project RN 0.61.5
  2. install nodes-mobile-react-native 0.5.0. node version 10.17.0
  3. test launch the react native app successfully
  4. yarn global add ipfs (0.40.0) with success
  5. test launch the app and it failed (failed at gc-stats@1.4.0 install script)

The failed message is:

gyp info using node@10.17.0 | darwin | x64
gyp verb command build []
gyp verb build type Release
gyp verb architecture x64
gyp verb node dev dir /Users/zhouyiyun/Documents/js/ipat1/node_modules/nodejs-mobile-react-native/ios/libnode
gyp verb which succeeded for make /Applications/Xcode.app/Contents/Developer/usr/bin/make
gyp info spawn make
gyp info spawn args [ ‘V=1’, ‘BUILDTYPE=Release’, ‘-C’, ‘build’ ]
c++ ‘-DNODE_GYP_MODULE_NAME=gcstats’ ‘-DUSING_UV_SHARED=1’ ‘-DUSING_V8_SHARED=1’ ‘-DV8_DEPRECATION_WARNINGS=1’ ‘-DNODE_ENGINE=“chakracore”’ ‘-DNODE_ENGINE_CHAKRACORE’ ‘-D_DARWIN_USE_64_BIT_INODE=1’ ‘-D_LARGEFILE_SOURCE’ ‘-D_FILE_OFFSET_BITS=64’ ‘-DBUILDING_NODE_EXTENSION’ -I/Users/zhouyiyun/Documents/js/ipat1/node_modules/nodejs-mobile-react-native/ios/libnode/include/node -I/Users/zhouyiyun/Documents/js/ipat1/node_modules/nodejs-mobile-react-native/ios/libnode/src -I/Users/zhouyiyun/Documents/js/ipat1/node_modules/nodejs-mobile-react-native/ios/libnode/deps/openssl/config -I/Users/zhouyiyun/Documents/js/ipat1/node_modules/nodejs-mobile-react-native/ios/libnode/deps/openssl/openssl/include -I/Users/zhouyiyun/Documents/js/ipat1/node_modules/nodejs-mobile-react-native/ios/libnode/deps/uv/include -I/Users/zhouyiyun/Documents/js/ipat1/node_modules/nodejs-mobile-react-native/ios/libnode/deps/zlib -I/Users/zhouyiyun/Documents/js/ipat1/node_modules/nodejs-mobile-react-native/ios/libnode/deps/chakrashim/include -I…/src -I…/…/nan -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.2.sdk -Os -gdwarf-2 -mios-simulator-version-min=9.0 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++1y -stdlib=libc++ -fno-rtti -fno-exceptions -fno-threadsafe-statics -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/gcstats/src/gcstats.o.d.raw -c -o Release/obj.target/gcstats/src/gcstats.o …/src/gcstats.cc
In file included from …/src/gcstats.cc:1:
…/…/nan/nan.h:141:9: warning: ‘TYPE_CHECK’ macro redefined [-Wmacro-redefined]
#define TYPE_CHECK(T, S)
^
/Users/zhouyiyun/Documents/js/ipat1/node_modules/nodejs-mobile-react-native/ios/libnode/include/node/v8.h:85:9: note: previous definition is here
#define TYPE_CHECK(T, S)
^
…/src/gcstats.cc:71:40: error: no member named ‘number_of_native_contexts’ in ‘v8::HeapStatistics’
info->numberOfNativeContexts = stats->number_of_native_contexts();
~~~~~ ^
…/src/gcstats.cc:72:42: error: no member named ‘number_of_detached_contexts’ in ‘v8::HeapStatistics’
info->numberOfDetachedContexts = stats->number_of_detached_contexts();
~~~~~ ^
1 warning and 2 errors generated.
make: *** [Release/obj.target/gcstats/src/gcstats.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/Users/zhouyiyun/Documents/js/ipat1/node_modules/nodejs-mobile-gyp/lib/build.js:248:23)
gyp ERR! stack at ChildProcess.emit (events.js:198:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
gyp ERR! System Darwin 19.0.0
gyp ERR! command “/usr/local/bin/node” “/Users/zhouyiyun/Documents/js/ipat1/node_modules/nodejs-mobile-gyp/bin/node-gyp.js” “build” “–fallback-to-build” “–module=/Users/zhouyiyun/Documents/js/ipat1/ios/build/ipat1/Build/Products/Debug-iphonesimulator/ipat1.app/nodejs-project/node_modules/gc-stats/build/gcstats/v1.4.0/Release/node_abi-platform-arch/gcstats.node” “–module_name=gcstats” “–module_path=/Users/zhouyiyun/Documents/js/ipat1/ios/build/ipat1/Build/Products/Debug-iphonesimulator/ipat1.app/nodejs-project/node_modules/gc-stats/build/gcstats/v1.4.0/Release/node_abi-platform-arch” “–napi_version=5” “–node_abi_napi=napi” “–napi_build_version=0” “–node_napi_label=node-v64”
gyp ERR! cwd /Users/zhouyiyun/Documents/js/ipat1/ios/build/ipat1/Build/Products/Debug-iphonesimulator/ipat1.app/nodejs-project/node_modules/gc-stats
gyp ERR! node -v v10.17.0
gyp ERR! node-gyp -v v0.3.1
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute ‘/usr/local/bin/node /Users/zhouyiyun/Documents/js/ipat1/node_modules/nodejs-mobile-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/zhouyiyun/Documents/js/ipat1/ios/build/ipat1/Build/Products/Debug-iphonesimulator/ipat1.app/nodejs-project/node_modules/gc-stats/build/gcstats/v1.4.0/Release/node_abi-platform-arch/gcstats.node --module_name=gcstats --module_path=/Users/zhouyiyun/Documents/js/ipat1/ios/build/ipat1/Build/Products/Debug-iphonesimulator/ipat1.app/nodejs-project/node_modules/gc-stats/build/gcstats/v1.4.0/Release/node_abi-platform-arch --napi_version=5 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v64’ (1)
node-pre-gyp ERR! stack at ChildProcess. (/Users/zhouyiyun/Documents/js/ipat1/ios/build/ipat1/Build/Products/Debug-iphonesimulator/ipat1.app/nodejs-project/node_modules/gc-stats/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack at ChildProcess.emit (events.js:198:13)
node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:982:16)
node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
node-pre-gyp ERR! System Darwin 19.0.0
node-pre-gyp ERR! command “/usr/local/bin/node” “/Users/zhouyiyun/Documents/js/ipat1/ios/build/ipat1/Build/Products/Debug-iphonesimulator/ipat1.app/nodejs-project/node_modules/gc-stats/node_modules/.bin/node-pre-gyp” “install” “–fallback-to-build”
node-pre-gyp ERR! cwd /Users/zhouyiyun/Documents/js/ipat1/ios/build/ipat1/Build/Products/Debug-iphonesimulator/ipat1.app/nodejs-project/node_modules/gc-stats
node-pre-gyp ERR! node -v v10.17.0
node-pre-gyp ERR! node-pre-gyp -v v0.13.0
node-pre-gyp ERR! not ok
Failed to execute ‘/usr/local/bin/node /Users/zhouyiyun/Documents/js/ipat1/node_modules/nodejs-mobile-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/zhouyiyun/Documents/js/ipat1/ios/build/ipat1/Build/Products/Debug-iphonesimulator/ipat1.app/nodejs-project/node_modules/gc-stats/build/gcstats/v1.4.0/Release/node_abi-platform-arch/gcstats.node --module_name=gcstats --module_path=/Users/zhouyiyun/Documents/js/ipat1/ios/build/ipat1/Build/Products/Debug-iphonesimulator/ipat1.app/nodejs-project/node_modules/gc-stats/build/gcstats/v1.4.0/Release/node_abi-platform-arch --napi_version=5 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v64’ (1)
npm verb lifecycle gc-stats@1.4.0~install: unsafe-perm in lifecycle true
npm verb lifecycle gc-stats@1.4.0~install: PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/zhouyiyun/Documents/js/ipat1/ios/build/ipat1/Build/Products/Debug-iphonesimulator/ipat1.app/nodejs-project/node_modules/gc-stats/node_modules/.bin:/Users/zhouyiyun/Documents/js/ipat1/ios/build/ipat1/Build/Products/Debug-iphonesimulator/ipat1.app/nodejs-project/node_modules/.bin:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/local/bin:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/libexec:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/usr/bin:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/usr/local/bin:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/local/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/local/bin:/Users/zhouyiyun/Documents/js/ipat1/node_modules/.bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
npm verb lifecycle gc-stats@1.4.0~install: CWD: /Users/zhouyiyun/Documents/js/ipat1/ios/build/ipat1/Build/Products/Debug-iphonesimulator/ipat1.app/nodejs-project/node_modules/gc-stats
npm info lifecycle gc-stats@1.4.0~install: Failed to exec install script
npm verb stack Error: gc-stats@1.4.0 install: node-pre-gyp install --fallback-to-build
npm verb stack Exit status 1
npm verb stack at EventEmitter. (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
npm verb stack at EventEmitter.emit (events.js:198:13)
npm verb stack at ChildProcess. (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
npm verb stack at ChildProcess.emit (events.js:198:13)
npm verb stack at maybeClose (internal/child_process.js:982:16)
npm verb stack at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
npm verb pkgid gc-stats@1.4.0
npm verb cwd /Users/zhouyiyun/Documents/js/ipat1/ios/build/ipat1/Build/Products/Debug-iphonesimulator/ipat1.app/nodejs-project
npm verb Darwin 19.0.0
npm verb argv “/usr/local/bin/node” “/usr/local/bin/npm” “–verbose” “rebuild” “–build-from-source”
npm verb node v10.17.0
npm verb npm v6.13.4
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! gc-stats@1.4.0 install: node-pre-gyp install --fallback-to-build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the gc-stats@1.4.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm verb exit [ 1, true ]
npm timing npm Completed in 188997ms

npm ERR! A complete log of this run can be found in:
npm ERR! /Users/zhouyiyun/.npm/_logs/2020-01-27T21_56_33_992Z-debug.log

** BUILD FAILED **

The following build commands failed:
PhaseScriptExecution [CP-User]\ [NODEJS\ MOBILE]\ Build\ Native\ Modules /Users/zhouyiyun/Documents/js/ipat1/ios/build/ipat1/Build/Intermediates.noindex/ipat1.build/Debug-iphonesimulator/ipat1.build/Script-3D9C0B9C5DB7920B91BE5EFF.sh
(1 failure)

I did test that node-gyp was installed properly. What else was missing here?