laravel newのコマンドをカレントディレクトリにインストールするのは無理っぽい【代替案あり】
いつもご利用ありがとうございます。
この記事には広告が掲載されており、その広告費によって運営しています。
laravel new
のコマンドをカレントディレクトリにインストールするのは無理っぽいので、代わりの方法を探しました。
はじめに
Laravel を新規プロジェクトで作る際に例えば Docker で環境構築してディレクトリ構成を整えると、
例えば、
ProfjectName
├── docker/
├── src/
└── docker-compose.yml
このようなディレクトリ構成にした場合、src
の中にプロジェクトをインストールしたくなります。
そんな時にカレントディレクトリにインストールできると便利です。
たぶん、laravel new コマンドだとできない
試した方法
プロジェクトネームを入れない
laravel new
次の画面でプロジェクトネームを回答させられ、
.
と入力すると
Application already exists.
とエラーが 出ます。
.でやってみる
laravel new .
Application already exists!
とエラーがでます。
--force でやってみる
laravel new --force
次の画面でプロジェクトネームを回答させられ、
Cannot use --force option when using current directory for installation!
とエラーが出ます。
無理っぽい
Laracast でも同じような問題が発生した QA があり、laravel new
を使った明確な結論が出ていないようです。
Laracast - Install Laravel to an existing folder
代わりの方法
以下の2つの方法があります。
- composer でインストールする
- 仮のディレクトリでインストールして移動させる
composer でインストールする
composer create-project laravel/laravel:^11.0 .
このコマンドでインストールすると、Laravel プロジェクトはインストールされますが、laravel new
でインストールした際のスターターの選択が出ません。
┌ Would you like to install a starter kit? ────────────────────┐
│ › ● No starter kit │
│ ○ Laravel Breeze │
│ ○ Laravel Jetstream
ただ、スターターのインストールを手動ですればそれ以降は同じ流れになるので、自分でどちらかをインストールすれば大丈夫だと思います。
Breeze
composer require laravel/breeze --dev
php artisan breeze:install
Jetstream
composer require laravel/jetstream
php artisan jetstream:install
Laravel Jetstream - Installation
仮のディレクトリでインストールして移動させる
気持ちの良い方法ではないですが、以下のように仮のディレクトリ
laravel new src
このコマンドでインストールすると、さきほどの構成だと
ProfjectName
├── docker/
├── src/src/色々インストールされる
└── docker-compose.yml
こうなります。
色々インストールされる
の部分の色々なフォルダやファイルを全て移動させれば問題なく動きます。
以上、誰かの参考になれば幸いです。