Reactのアプリを作成していたのですが、新しく別のアプリを作成する際に少し詰まったので、初期構築手順について改めてまとめようと思います。2度目の作成ということで発生したエラー解消などの作業も含みます。
公式サイト・マニュアル
今回の作業を実施するにあたり参照した公式のマニュアルは以下です。
https://ja.reactjs.org/docs/create-a-new-react-app.html
https://create-react-app.dev/docs/getting-started/
アプリの作成・エラーの対処
公式のマニュアルに記載されているコマンドは以下です。
npx create-react-app my-app
「my-app」は作成したいアプリ名にあわせて変更する部分ですが、今回はお試しなのでそのままにしておきます。
アプリ作成のコマンドを実行した際に以下のようなエラーが発生しました。
$ npx create-react-app my-app
You are running `create-react-app` 4.0.3, which is behind the latest release (5.0.1).
We no longer support global installation of Create React App.
Please remove any global installs with one of the following commands:
- npm uninstall -g create-react-app
- yarn global remove create-react-app
The latest instructions for creating a new app can be found here:
https://create-react-app.dev/docs/getting-started/
npm ERR! code 1
npm ERR! path /Users/xxxx
npm ERR! command failed
npm ERR! command sh -c create-react-app my-app
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/xxxx/.npm/_logs/2022-09-24T14_29_25_837Z-debug.log
$
古いバージョンの「create-react-app」がインストールされているというエラーです。また、グローバルにインストールしているとダメとのことです。
まずは、記載されているコマンドでアンインストールを試みました。
npm uninstall -g create-react-app
上記を実行します。
$ npm uninstall -g create-react-app
up to date in 527ms
found 0 vulnerabilities
$
アンインストールのコマンドは成功しました。
これで解決する人もいると思いますが、私の場合はダメでした。状況は変わらず、アプリ作成に失敗します。
グローバルにファイルがインストールされているということなので、ホームディレクトリ配下のファイルを確認してみました。どうやら以下のフォルダにインストールされているみたいです。
~/.npm/_npx/
上記の配下に「c67e74de0542c87c」のような名前のフォルダがあります。このフォルダ名は人によると思いますし、複数のフォルダがある場合もあると思います。
フォルダの中を探してみると以下のようなファイルがありました。
$ cat package.json
{
"dependencies": {
"create-react-app": "^4.0.3"
}
}
どうやら上記とその関連ファイルが邪魔をしているようなので「c67e74de0542c87c」のフォルダごと削除してみました。その結果、アプリの作成が成功するようになりました。
$ npx create-react-app my-app
Need to install the following packages:
create-react-app
Ok to proceed? (y) y
npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
Creating a new React app in /Users/xxxx/my-app.
Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts with cra-template...
added 1395 packages in 2m
210 packages are looking for funding
run `npm fund` for details
Installing template dependencies using npm...
...(略)...
210 packages are looking for funding
run `npm fund` for details
6 high severity vulnerabilities
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
Success! Created my-app at /Users/xxxx/my-app
Inside that directory, you can run several commands:
npm start
Starts the development server.
npm run build
Bundles the app into static files for production.
npm test
Starts the test runner.
npm run eject
Removes this tool and copies build dependencies, configuration files
and scripts into the app directory. If you do this, you can’t go back!
We suggest that you begin by typing:
cd my-app
npm start
Happy hacking!
$
なお実行の際に以下の状態で止まる場合は「y」を入力します。これは初回だけ発生しました。
Ok to proceed? (y)
実行後にアプリが起動できるかも確認しておきます。マニュアルに記載の通り以下のコマンドを実行します。
cd my-app
npm start
無事に起動できました。
TypeScriptのアプリ作成
エラーは解消したので、続いてTypeScript形式でのアプリ作成をします。
とは言っても、公式のマニュアルに記載のコマンドを実行するだけです。
npx create-react-app my-app --template typescript
細かい違いはありますが、実行結果は通常のアプリと同様になります。
なお、「my-app」の部分を変えない場合は、先ほど作成したアプリは削除しておきます。削除しておかないとエラーになる可能性があるので注意してください。
作成済みのアプリのTypeScript化
既存のアプリをTypeScript化する手順についてもマニュアルに記載がありました。
今回は必要がないので実施しませんが、機会があれば試してみたいと思います。
ライブラリのインストール
ライブラリもインストールしておきます。これは個人的に使っているものなので、必須ではないです。あまりライブラリは使わずにやれるところまでやってみる派なので、多分少なめだと思います。
styled-components
「styled-components」をインストールします。「styled-components」自体は有名なので詳細は省略します。詳しく知りたい人は別途調べてもらえればと思います。
公式のサイト・マニュアルは以下です。
https://styled-components.com/
https://github.com/styled-components/styled-components
インストールのコマンドを実行します。
$ npm install --save styled-components
また、TypeScript化もしているので定義ファイルもインストールします。
こちらは以下のサイトを参考にします。
https://styled-components.com/docs/api#typescript
以下のコマンドを実行します。
$ npm install --save-dev @types/styled-components
これで「styled-components」のインストールが完了しました。
react-router-dom
「react-router-dom」も必要に応じてインストールします。
以下のコマンドでインストールできると思います。
$ npm install react-router-dom
上記のコマンドについてですが、公式と思われるページのリンク先が404になっていたり、少々怪しい部分があります。ただ、以下のInstallの欄にあるので大丈夫だとは思います。
https://www.npmjs.com/package/react-router-dom
最後に
Reactのアプリの作成については以上です。
コメント