新しくreact-nativeのアプリを作ろうと思い、とりあえずDBは必要になりそうなのでrealmを追加しようとした。
yarn add realm
すると、エラーがずらずら〜っと…
(省略)
error /Users/hoge/react-native/hoge_prj/node_modules/realm: Command failed.
Exit code: 1
Command: node-pre-gyp install --fallback-to-build
Arguments:
Directory: /Users/hoge/react-native/hoge_prj/node_modules/realm
Output:
node-pre-gyp info it worked if it ends with ok
node-pre-gyp info using [email protected]
node-pre-gyp info using [email protected] | darwin | x64
node-pre-gyp info check checked for "/Users/hoge/react-native/hoge_prj/node_modules/realm/compiled/node-v64_darwin_x64/realm.node" (not found)
node-pre-gyp http GET https://static.realm.io/node-pre-gyp/2.14.0/realm-v2.14.0-node-v64-darwin-x64.tar.gz
node-pre-gyp http 404 https://static.realm.io/node-pre-gyp/2.14.0/realm-v2.14.0-node-v64-darwin-x64.tar.gz
node-pre-gyp ERR! Tried to download(404): https://static.realm.io/node-pre-gyp/2.14.0/realm-v2.14.0-node-v64-darwin-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for [email protected] and [email protected] (node-v64 ABI, unknown) (falling back to source compile with node-gyp)
node-pre-gyp http 404 status code downloading tarball https://static.realm.io/node-pre-gyp/2.14.0/realm-v2.14.0-node-v64-darwin-x64.tar.gz
node-pre-gyp ERR! Tried to download(undefined): https://static.realm.io/node-pre-gyp/2.14.0/realm-v2.14.0-node-v64-darwin-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for [email protected] and [email protected] (node-v64 ABI, unknown) (falling back to source compile with node-gyp)
node-pre-gyp http Connection closed while downloading tarball file
(省略)
エラー内で404になっているファイルは、ブラウザでアクセスしてもやっぱり404。
何だこれはとググる。
原因
realmはnodeのv10に未対応らしい。
対策
nodeを複数バージョン使えるようにして、react-nativeではv9を使うことにする。
手順
1.brewで入れたnodeをuninstall
brew uninstall node --ignore-dependencies
2.ndenvを入れる
rubyのrbenvみたいにnodeを複数バージョン分けて使えるようにしてくれる。
brew install ndenv
3.node-buildを入れる
ndenvのinstallを使えるようにするために入れる。
ndenvのマニュアルに書いてある。
git clone https://github.com/riywo/node-build.git $(ndenv root)/plugins/node-build
4.nodeを入れる
ndenv install v9.11.2
ndenv install v10.7.0
5.使うnodeを設定する
とりあえずシステム全体では最新を使う。
ndenv global v10.7.0
react-nativeのプロジェクトではv9を使う。
cd react-native/hoge_prj
ndenv local v9.11.2
これでrealmのインストールが出来るようになった。
めでたし。
コメント