ホーム > Laravel > laravel newのコマンドをカレントディレクトリにインストールするのは無理っぽい【代替案あり】
Laravel

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つの方法があります。

  1. composer でインストールする
  2. 仮のディレクトリでインストールして移動させる

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

Laravel 11.x スターターキット

Jetstream

composer require laravel/jetstream
php artisan jetstream:install

Laravel Jetstream - Installation

仮のディレクトリでインストールして移動させる

気持ちの良い方法ではないですが、以下のように仮のディレクトリ

laravel new src

このコマンドでインストールすると、さきほどの構成だと

ProfjectName
    ├── docker/
    ├── src/src/色々インストールされる
    └── docker-compose.yml

こうなります。

色々インストールされるの部分の色々なフォルダやファイルを全て移動させれば問題なく動きます。

以上、誰かの参考になれば幸いです。

フィードバックのお願い
この記事のフィードバックがありましたらYoutubeの適当な動画にコメントしていただいたり、お問い合わせからご連絡ください。