search
LoginSignup
3

More than 5 years have passed since last update.

posted at

Windows環境ではLaravel Installerよりcreate-project

手短に言うと

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ファイルは生成されません。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
3