こんばんは。今日は、Expo + React Nativeで最初のプロジェクトを作成するまでの手順を残しておこうと思います。こちらの記事はMac OSでの開発を前提としていますが、もしReact Nativeの開発環境がまだ準備されていない場合は、こちらをご参照ください。
Contents
React Nativeプロジェクトの作成
まずは、React Nativeプロジェクトの作成を行います。Expoを利用すれば、とても簡単にプロジェクトの作成が行えます。
コンソールで、以下コマンドを実行します。
expo init MyFirstProject
すると、テンプレートプロジェクトが作成されます。
![](https://i0.wp.com/www.simpletraveler.jp/wp-content/uploads/2021/01/image-50.png?resize=728%2C170&ssl=1)
![](https://i0.wp.com/www.simpletraveler.jp/wp-content/uploads/2021/01/image-51.png?resize=728%2C245&ssl=1)
これだけで完了です!
(参考)プロジェクトの構成
ちなみに、テンプレートプロジェクトの構成は以下のようになっています。
cd MyFirstProject
ls -ltr
![](https://i0.wp.com/www.simpletraveler.jp/wp-content/uploads/2021/01/image-52.png?resize=728%2C145&ssl=1)
package.json
![](https://i0.wp.com/www.simpletraveler.jp/wp-content/uploads/2021/01/image-62-2.jpg?resize=728%2C255&ssl=1)
package-lock.json
![](https://i0.wp.com/www.simpletraveler.jp/wp-content/uploads/2021/01/image-62.png?resize=728%2C379&ssl=1)
React Native プロジェクトの実行
それでは、プロジェクトを実行してみます。プロジェクトディレクトリ内で、以下コマンドを実行します。
cd MyFirstProject
npm start
すると、エミュレータ画面が立ち上がりましたが、エラーが・・・
![](https://i0.wp.com/www.simpletraveler.jp/wp-content/uploads/2021/01/image-53.png?resize=728%2C358&ssl=1)
コンソール画面にも、”Error running ‘xcrun simctl list devices –json’:xxxx”というエラーが出ています。
![](https://i0.wp.com/www.simpletraveler.jp/wp-content/uploads/2021/01/image-54.jpg?resize=728%2C314&ssl=1)
他のWebページをみると、どうやらXCode側で事前設定が必要だったみたい。
XCodeを起動し、Preference>Locationsで、CLI (Command Line Tools)を指定すればOKです。
![](https://i0.wp.com/www.simpletraveler.jp/wp-content/uploads/2021/01/image-54.png?resize=728%2C479&ssl=1)
再度コンソールでnpm startを実行し、iOSエミュレータを起動するため、”i”を押すと・・
![](https://i0.wp.com/www.simpletraveler.jp/wp-content/uploads/2021/01/image-56.png?resize=728%2C198&ssl=1)
今度は無事XCodeのエミュレータが立ち上がり、テンプレートアプリが立ち上がりました!
![](https://i0.wp.com/www.simpletraveler.jp/wp-content/uploads/2021/01/image-55.png?resize=467%2C1024&ssl=1)
以上、React Nativeアプリを作成し、ローカルで立ち上げるまでの手順でした!
[番外編] ReactNativeをもっと学ぶなら・・・
React Nativeをもっとちゃんと学びたい!という方は、こちらにおすすめコンテンツをまとめましたので、ご参考にしていただければと思います・・!