この記事について
こちらのサイト を参考に、Docker環境でAstroを立ち上げようとしましたが、依存関係のインストール中にエラーが発生してしまいました。
忘れないようにエラー内容と解決方法を記載しておきます。
環境
MacOS Big Sur: version 11.5.1
Docker Version: 20.10.24
準備
参考サイトどおり、必要なフォルダとファイルを作成する
astro-app
├─ app
├─ Dockerfile
└─ docker-compose.yml
手順
-
Dockerコンテナの立ち上げ
$ cd astro-app → astro-appまで移動 $ docker-compose build → image構築 $ docker-compose up -d → コンテナの構築・起動 $ docker-compose ps → コンテナ名の確認
-
作成したコンテナに入る
docker exec -it astro-app sh
-
コンテナ内でnpmを使用し、Astroの新規プロジェクトを作成
npm create astro@latest
-
Houstonからの質問に答えていく
- Where should we create your new project?
- app内のどこにプロジェクトを作りたいか
→とりあえずtest
と入力
- app内のどこにプロジェクトを作りたいか
- How would you like to start your new project?
- 新しいプロジェクトのスタートはどうするか
→チュートリアル通りにemptyを選択
- 新しいプロジェクトのスタートはどうするか
- Install dependencies?
- 依存関係をインストールするか
→yesを選択 : ここでエラー発生
- 依存関係をインストールするか
- Where should we create your new project?
発生したエラー内容
npm ERR! code 1
npm ERR! path /project
npm ERR! command failed
npm ERR! command sh -c create-astro .
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2023-04-20T05_27_02_814Z-debug-0.log
調べてみたところ、/usr/src/app
内にjsonファイルがないため、依存関係がインストール出来ないという内容でした。
解決方法
-
How would you like to start your new project?
という質問に答えた段階で、Where should we create your new project?
で作成したフォルダ内に出来たAstro一式を、/usr/src/app
へ移動させておく
その後の手順
- 引き続きHoustonからの質問にyesで答えていく
- Install dependencies?
- 依存関係をインストールするか
→yesを選択 : 問題なくインストールが完了する
- 依存関係をインストールするか
- Do you plan to write TypeScript?
- TypeScriptを書く予定はあるか
→yesを選択
- TypeScriptを書く予定はあるか
- Initialize a new git repository?
- 新しい git リポジトリーを初期化するか
→yesを選択
- 新しい git リポジトリーを初期化するか
- Install dependencies?
- 解答し終わったら下記コマンドを入力
npm run dev -- --host 0.0.0.0
- localhost:3000 へアクセスすれば、表示される
参考資料