ホーム > React > ExpoCLIの環境構築方法。【TypeScript + ReactNative】
React

ExpoCLIの環境構築方法。【TypeScript + ReactNative】

いつもご利用ありがとうございます。
この記事には広告が掲載されており、その広告費によって運営しています。

ReactNative の ExpoCLI で TypeScript を使う設定方法についてまとめました。

Expo プロジェクトの作成方法

今現在(2024/10/7)、ExpoCLI が node17+に対応していないようなので、node16 で環境を作ろうと思ったのですが、後述するエラーが発生したため node.js20 で環境を作ります。

expo -V WARNING: The legacy expo-cli does not support Node +17. Migrate to the new local Expo CLI: https://blog.expo.dev/the-new-expo-cli-f4250d8e3421.

ディレクトリ構成

/my-react-native-app
├── docker
│ └── Dockerfile
├── src
└── docker-compose.yml

docker-compose.yml

version: "3.7"
services:
  app:
    build:
      context: .
      dockerfile: ./docker/Dockerfile
    container_name: react-native
    ports:
      - "8084:8081"
    volumes:
      - ./src:/app
    stdin_open: true
    tty: true
    environment:
      - NODE_ENV=development

docker/Dockerfile

FROM node:20
RUN npm install -g expo-cli
RUN apt-get update #必要になった開発ツールを追記
WORKDIR /app

コマンド

expo -V
npx create-expo-app@latest

Wat is your app named?と出るので、

.

と現在のディレクトリにインストールするようにします。

実行結果

npx create-expo-app@latest
✔ What is your app named? … .
✔ Downloaded and extracted project files.
npm install
npm ERR! code FETCH_ERROR
npm ERR! errno FETCH_ERROR
npm ERR! invalid json response body at https://registry.npmjs.org/react-native-reanimated reason: Invalid response body while trying to fetch https://registry.npmjs.org/react-native-reanimated: aborted
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2024-10-06T23_50_31_902Z-debug-0.log
Something went wrong installing JavaScript dependencies. Check your npm logs. Continuing to create the app.
Error: npm install exited with non-zero code: 1
✅ Your project is ready!

エラーが出たのですが、構わずコマンドを打ってみます。

npm i

今度は通りました。なぜだ。

expo welcome

ちなみにデフォルトで勝手に TypeScript が入ります。

node16 で発生したエラー

最初バージョンがサポートされていないと出たので 16 でやってみましたが、

以下のようにエラーがでたため Node.js20 にしたらうまく行きました。

npm run web

を打ったところ、

expo start --web Starting project at /app Starting Metro Bundler Error: Node.js version 16 is not supported. Please upgrade to Node.js 20 or newer.

とエラーが出たしまったので、試しに Node.js20 に変更してビルドし直したら問題なく表示されました。

ローカルサーバーを立てるコマンド

npx expo start
npx expo start --ios
npx expo start --android
npm expo start --web

現在は、expo コマンドではなく、npx expo コマンドを使うみたいです。

昔から書かれた記事は、expo コマンドなはずなので注意が必要だと思います。

ReactNative Expo を学習するなら

expo udemy

React Native, Firebase, Expo でアプリ開発をゼロから始めよう!

こちらの Udemy の教材はしっかりとアップデートされており、現在の環境で学べるようです。

プログラミングが初めての人向けの教材ですので、初心者でも動画と一緒に進めれば ReactNative でネイティブアプリを作れます。

また、プログラミング経験者の人は Expo の環境構築のところからやれば良いと思います。

こんな良い教材がセールで 2000 円で買えてしまうのだから、ありがたいです。

時間使って頑張れさえできればきっとできると思います。自分もこれで学んだので。