React Native で 下記コマンドで、プロジェクトを作成しようとしました。
$ npx react-native init ReactNativeRealm --template react-native-template-typescript
なのですが、node のバージョンをいじったせいか、以下のビルドエラーが出力されるようになりました。
clang: warning: using sysroot for 'iPhoneSimulator' but targeting 'MacOSX' [-Wincompatible-sysroot]
In file included from ../fsevents.cc:72:
../src/thread.cc:36:25: error: unknown type name 'ConstFSEventStreamRef'
void HandleStreamEvents(ConstFSEventStreamRef stream, void *ctx, size_t ...
^
../src/thread.cc:36:108: error: unknown type name 'FSEventStreamEventFlags'
...stream, void *ctx, size_t numEvents, void *eventPaths, const FSEventStre...
^
../src/thread.cc:36:152: error: unknown type name 'FSEventStreamEventId'
...*eventPaths, const FSEventStreamEventFlags eventFlags[], const FSEventSt...
^
../src/thread.cc:54:3: error: unknown type name 'FSEventStreamContext'
FSEventStreamContext context = { 0, ctx, NULL, NULL, NULL };
^
../src/thread.cc:56:3: error: unknown type name 'FSEventStreamRef'
FSEventStreamRef stream = FSEventStreamCreate(NULL, &HandleStreamEvent...
^
../src/thread.cc:56:98: error: use of undeclared identifier
'kFSEventStreamEventIdSinceNow'
...&HandleStreamEvents, &context, fse->paths, kFSEventStreamEventIdSinceNow...
^
6 errors generated.
make: *** [Release/obj.target/fse/fsevents.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/Users/xxx/.nodenv/versions/10.16.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262: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 18.6.0
gyp ERR! command "/Users/xxx/.nodenv/versions/10.16.0/bin/node" "/Users/xxx/.nodenv/versions/10.16.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/xxx/.npm/_npx/63422/lib/node_modules/react-native/node_modules/fsevents
gyp ERR! node -v v10.16.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
いろいろ調べて、XCode Command Line Tools の再インストールもためしてみましたがダメでした。
再インストール方法は以下のコマンドの通りです。一応、やるなら自己責任でお願いします。
$ sudo rm -rf /Library/Developer/CommandLineTools $ xcode-select --install
XCode Command Line Tools のアンインストールについては、以下の記事を参考にさせていただきました。
どうしたものかと思っていると、OS を再起動しろという情報を見かけたので、Mac を再起動して再度プロジェクトを作成したらエラーが出力されないようになりました。
まさかの困った時の再起動で解決するとは。。。