こんにちは、石尾です。
前回記事にしたLaravel4-Vagrantを使った際(vagrant up実施時に)、次のようなエラーメッセージが表示されて、Laravelがインストールされなくなっていました。
=> laravel4: err: /Stage[main]/Laravel_app/Exec[setup laravel installer]/returns: change from notrun to 0 failed: /bin/sh -c 'wget http://laravel.com/laravel.phar && chmod +x laravel.phar && mv laravel.phar /usr/local/bin/laravel' returned 8 instead of one of [0] at /tmp/vagrant-puppet-2/modules-0/laravel_app/manifests/init.pp:21
原因は、「http://laravel.com/laravel.phar」リンクからLaravelインストールファイルlaravel.pharをダウンロードが出来ないことでした。ブラウザからアクセスすると、「Whoops, looks like something went wrong.」と表示され、HTTPステータス404が返されます。
今回は、その対処方法の紹介です。
対処方法は、Laravel公式サイトを参考にしましたが、Vagrant(puppet)/Laravelは、初心者レベルですので、一例として受け止めてください。
対処方法
Laravel4-VagrantのLaravelに関するpuppet定義を次のように修正します。
puppet\modules\laravel_app\manifests\init.pp
/* exec { 'setup laravel installer': command => "/bin/sh -c 'wget http://laravel.com/laravel.phar && chmod +x laravel.phar && mv laravel.phar /usr/local/bin/laravel'", creates => [ "/usr/local/bin/laravel"], timeout => 900 } */ exec { 'create laravel project': command => "/bin/bash -c 'cd /var/www/ && shopt -s dotglob nullglob; composer create-project laravel/laravel temp --prefer-dist && mv temp/* . && rm -rf temp'", require => [Exec['global composer'], Package['php5'], Package['git-core']], #Exec['clean www directory'] creates => "/var/www/composer.json", timeout => 1800, logoutput => true }
・利用しない項目「setup laravel installer」をコメントアウト。
・composerを利用し、Laravelプロジェクト生成するように変更「composer create-project laravel/laravel temp --prefer-dist」。
・composerを利用するため、require項目の「Exec['setup laravel installer']」から「Exec['global composer']」に変更。