Composer不会复制指定的bin-dir目录

时间:2014-08-06 16:29:07

标签: php json composer-php

我有时会遇到这个问题,在Windows上,在Mac上,在ubuntu上......

我有这个composer.json:

{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"require": {
    "laravel/framework": "4.2.*",
    "zizaco/confide": "~4.0@dev",
    "zizaco/entrust": "1.2.*@dev",
    "guzzlehttp/guzzle": "~4.0"
},
"require-dev": {
    "phpunit/phpunit": "4.1.4",
    "behat/behat": "3.0.12",
    "behat/mink": "1.5.0",
    "behat/mink-extension": "2.0.0",
    "behat/mink-goutte-driver": "1.0.9",
    "codeception/verify": "0.2.7",
    "codeception/specify": "0.3.6"

},
"autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/models",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php"
    ]
},
"scripts": {
    "post-install-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
    ],
    "post-update-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
    ],
    "post-create-project-cmd": [
        "php artisan key:generate"
    ]
},
"config": {
    "bin-dir": "bin/",
    "preferred-install": "dist"
},
"minimum-stability": "stable"

}

这是Laravel 4,有一些测试包。

在作曲家安装或作曲家更新目录" bin"不是在我的项目上创建的。

我应该有一个用于phpunit的二进制文件和另一个用于behat的二进制文件。所以我必须使用像vendor / behat / bin / behat和vendor / phpunit / phpunit / phpunit这样的命令,这很痛苦。

知道为什么二进制文件不在" bin"文件夹?

昨天,一些项目用较少的包,我有二进制文件夹,那里有phpunit二进制文件。现在已经过去了。我不明白。

2 个答案:

答案 0 :(得分:2)

今天也发生在我身上。虽然我还没弄清楚它为什么会发生,但是一个肮脏的解决方法是删除vendor文件夹并运行composer install

答案 1 :(得分:0)

我在composer的git repo中找到了这个pull请求: https://github.com/composer/composer/pull/5127

似乎重新创建二进制文件的功能将在Composer 1.1中发布