LaravelのプロジェクトをGitで管理しようとしたときにファイル等が足りなくなる悲劇

みなさんこんにちは。sakuyaです。

今回はLaravelのプロジェクトをGitにアップロードして、それを他のメンバーがクローンしたときに起こったことを書いていこうと思います。

何が起こったのか

今回メンバーが私がアップロードしたプロジェクトをローカルにクローンした際に、「php artisan serve」が使えなくなり、「auth」やマイグレーションも実行できなくなることがありました。最終的には何とか解決することができましたが、今回紹介する解決方法は暫定的なものなので参考程度もしくは解決するための1つの案程度に考えておいてください。

解決方法

今回の問題で重要なのがクローンしたプロジェクトに「vendor」のディレクトリがないことと「.env」のファイルがないことです。なので、この2つをプロジェクト内に存在させれば解決します。

まずは「vendor」のディレクトリを作るためにcomposerをインストールします。以下のコマンドをターミナルで入力してください。

composer install

上記のコマンドを実行すると「php artisan serve」でサーバーを起動することができるようになると思います。

次に「.env」ですが、これは自分のコンピュータ内で新たなプロジェクトを作成してそこから「.env」ファイルをコピーして、クローンしたプロジェクト内に持ってくる方が簡単だと思うので今回は持ってくる方で試してみてください。

上記の内容を試すと無事にデータベースへの接続ができマイグレーションも実行することができると思います。あと言い忘れていましたが、「.env」内のデータベース名などを書き換えることと「auth」を使うには「npm install」と「npm run build」をする必要もあるということをお忘れなく。

最後に

Gitへ何かのプロジェクトをアップロードする際は、管理ファイル(.envなど)はアップロードされません。また、「vendor」はGitの上限100ファイルを超えるためアップロードされません。なので、クローンした後はしっかりcomposerのインストールと事前に作ったおいたLaravelプロジェクトの.envファイルがあると安心かと思います。