手短に言うと
Windows環境でLaravel Installerを使うとvender/bin/phpunit.bat
とかが無くて困ります。
詳細
Laravelのインストール方法としてLaravel Installerを使う方法とcomposer create-projectを使う方法があります。
Laravel/installerは内部では単に http://cabinet.laravel.com/latest.zip をダウンロードして解凍しているようです。そしてこのzipファイルはおそらくですが、laravel/installerに同梱されているzipper.shで作成されています。やっていることとしては、githubからlaravel/laravelのmaster.zipをダウンロードして解凍し、composer installで依存しているパッケージを取得し、再度zipを作成しています。
しかしこのZipはUnix上で作成されているため、これをWindows上で展開すると少々問題があります。
composerは、phpunitのような実行ファイルを含むパッケージのcomposer installを行うときに、vender/bin/
に何を作るかを環境に応じて決めています( https://github.com/composer/composer/blob/master/src/Composer/Installer/LibraryInstaller.php )。
例えばcomposer create-project laravel/laravelをWindows上で行うと、vendor/bin
以下には
- classpreloader.php
- classpreloader.php.bat
- phpspec
- phpspec.bat
- phpunit
- phpunit.bat
- psysh
- psysh.bat
が作成されますが、Unix環境では
- classpreloader.php
- phpspec
- phpunit
- psysh
しか作成されません。そして、Laravel InstallerをWindows上で実行した場合も(Unix上でcomposer installしたzipを展開しているだけなので)同様に.batファイルは生成されません。