1. TOP
  2. web
  3. php
  4. laravel
  5. Laravelプロジェクトごとに環境構築

Laravelプロジェクトごとに環境構築

|

laravel/homesteadをインストール

$ php composer.phar require laravel/homestead --dev
Homesteadがインストールできたら、VagrantfileとHomestead.yamlファイルをプロジェクトルートへ生成するためにmakeコマンドを使ってください。
makeコマンドはHomestead.yamlファイルのsitesとfoldersディレクティブを自動的に設定します。

Laravel 5.8 Laravel Homestead

$ php vendor/bin/homestead make

ここで慌てて vagrant up してしまうと、フォルダ構成を変更後に vagrant reload –provision しないといけない。それは面倒くさいので、Homestead.yaml の 共有フォルダの設定を済ませておく方がよい。

folders:
-
map: /Users/hideyo/code_proj/project01
to: /home/vagrant/code

vagrant up で仮想マシンを起動して vagrant ssh でログイン

$ vagrant up
$ vagrant ssh

既存のlaravelプロジェクトをgit clone した場合

Git管理下に置かれない /vendorフォルダのエラー

vagrant ssh でログイン。

/home/vagrant/code ディレクトリに laravelプロジェクトを git clone して展開。

$ php artisan serve --host 192.168.10.10 --port 8000

webサーバーを立ち上げようとするとエラーが出た。

PHP Warning: require(/home/vagrant/code/dotinstall_laravel_myblog/myblog/vendor/autoload.php): failed to open stream: No such file or directory in /home/vagrant/code/dotinstall_laravel_myblog/myblog/artisan on line 18

Warning: require(/home/vagrant/code/dotinstall_laravel_myblog/myblog/vendor/autoload.php): failed to open stream: No such file or directory in /home/vagrant/code/dotinstall_laravel_myblog/myblog/artisan on line 18
PHP Fatal error: require(): Failed opening required ‘/home/vagrant/code/dotinstall_laravel_myblog/myblog/vendor/autoload.php’ (include_path=’.:/usr/share/php’) in /home/vagrant/code/dotinstall_laravel_myblog/myblog/artisan on line 18

Fatal error: require(): Failed opening required ‘/home/vagrant/code/dotinstall_laravel_myblog/myblog/vendor/autoload.php’ (include_path=’.:/usr/share/php’) in /home/vagrant/code/dotinstall_laravel_myblog/myblog/artisan on line 18

原因としてよくあるのが、GitHubなどで他人のリモートリポジトリからクローンしてきたLaravelのプロジェクトフォルダの場合、基本的に /vendor フォルダは個々の環境に依存してGitの管理下に置かれないため、このようなエラーの原因となることがあります。

Laravelのエラー:Fatal error: require(): Failed opening required ‘/project/vendor/autoload.php’ (include_path=’.:’) in /project/artisan on line 18

こちらの記事も参考にさせてもらいました。

このエラーはおそらく上述したようにlaravelを新たにインストールした場合ではなく、github等からlaravelベースのソースをcloneして配置した場合に起こるようです。

複数のLaravel環境をHomestead上で動かす