12038


Laravel v5.1.4を使っています。  
Laravelインストーラv1.2.1を使ってプロジェクトを作成すると以下のようにphpunitが"Permission
denied"でエラーになってしまいます。どの様に対処したらよいでしょうか？

[code]

    $ laravel -V
    Laravel Installer version 1.2.1
    
    $ laravel new project
    $ cd project
    
    $ phpunit
    -bash: ./vendor/bin/phpunit: Permission denied
    
[/code]

パーミッションを確認すると実行権限がありません。

[code]

    $ ls -l ./vendor/bin
    total 24
    -rw-r--r--  1 user  staff   750  7  2 13:51 phpspec
    -rw-r--r--  1 user  staff   930  7  2 13:51 phpunit
    -rw-r--r--  1 user  staff  3296  7  2 13:51 psysh
    
[/code]

実行権限を追加してphpunitしてみましたが、新たなエラーが...

[code]

    $ chmod +x ./vendor/bin/phpunit
    $ ls -l ./vendor/bin
    total 24
    -rw-r--r--  1 user  staff   750  7  2 13:51 phpspec
    -rwxr-xr-x  1 user  staff   930  7  2 13:51 phpunit
    -rw-r--r--  1 user  staff  3296  7  2 13:51 psysh
    
    $ phpunit
    You need to set up the project dependencies using the following commands:
    wget http://getcomposer.org/composer.phar
    php composer.phar install
    
[/code]

ちなみに、composer経由でのプロジェクト作成ではphpunitはエラーになりません。


CC BY-SA 3.0
2015-07-02T06:02:06.457
11948
2015-07-07T04:39:27.737
9529
question
php laravel
Laravelインストーラーでプロジェクトを作成するとphpunitが"Permission denied"になる


laravel new [プロジェクト]をするとバグの所為で権限は設定されてないらしいです。

これら削除してcomposer installしたら行けるはずです。

[code]

    vendor/bin 
    vendor/classpreloader 
    vendor/phpspec 
    vendor/phpunit 
    vendor/psy
    
[/code]

もちろん、作成の時にcomposer create-project laravel/laravelをしたら問題はありません。

一応、イッシューもあります。 <https://github.com/laravel/framework/issues/9491>


CC BY-SA 3.0
2015-07-02T08:48:28.903
11957
2015-07-06T03:18:22.177
2015-07-06T03:18:22.177
4336
4336
11948
answer


本件はインストーラのバグによるものです。  
以下のように`laravel new`でプロジェクトを作成した場合に発生します。  
マニュアルに書いてあるので、普通にこのコマンドを使うと思いますが、バグがあります。

[code]

    larval new [project]
    
[/code]

以下のディレクトリを削除して`composer install`を実行すると復旧します。

[code]

    vendor/bin 
    vendor/classpreloader 
    vendor/phpspec 
    vendor/phpunit 
    vendor/psy
    
[/code]

もしくは、少し時間がかかりますが、`vendor`ディレクトリ全体を削除してから`composer
install`でも復旧します。こちらは細かくディレクトリを指定しなくて良いので、簡単です。

このバグを踏まない為には、インストーラを使わず`composer`を使ってプロジェクトを作成します。

[code]

    composer create-project laravel/laravel --prefer-dist [project]
    
[/code]

■ 参考  
<https://laracasts.com/discuss/channels/general-discussion/gulp-tdd-phpunit-
permission-denied>  
<https://laracasts.com/index.php/discuss/channels/general-discussion/phpunit-
woes>  
※ 上記のサイトは4ヶ月前の情報です。復旧手順で`composer update`とありますが、現在はエラーになる為、`composer
install`するのが正解です。

■ Issues  
<https://github.com/laravel/installer/pull/26>  
<https://github.com/laravel/framework/issues/9051>  
<https://github.com/laravel/framework/issues/9491>

確実に開発者にバグが伝わってから、２ヶ月間は放置されてます。  
最初のisuueの報告は説明もなく簡単にcloseされています。


CC BY-SA 3.0
2015-07-05T02:28:19.080
12038
2015-07-07T04:39:27.737
2015-07-07T04:39:27.737
10170
10170
11948
answer