这是我的 composer.json 文件:
"require": {
"php": ">=5.4",
"zendframework/zendframework": "2.*",
"doctrine/doctrine-module": "dev-master",
"doctrine/doctrine-orm-module": "0.*",
"gedmo/doctrine-extensions": "dev-master"
},
"require-dev": {
"phpunit/phpunit": "3.7.*"
},
"scripts": {
"post-update-cmd": [
"rm -rf vendor/Behat",
"git clone git://github.com/Behat/Behat.git",
"cp composer.phar Behat/composer.phar",
"cd Behat && git submodule update --init",
"cd Behat && php composer.phar install",
"cd Behat && php composer.phar require guzzle/guzzle:3.0.*",
"mv Behat vendor/Behat",
"ln -sf ../Behat/bin/behat vendor/bin/"
]
}
我怎样才能使脚本只在开发环境中运行?
基本上我希望脚本仅在我调用时运行:
php composer.phar update --dev
原文由 Richard Knop 发布,翻译遵循 CC BY-SA 4.0 许可协议
要在不触发任何脚本的情况下进行非开发环境更新,请使用
--no-scripts
命令行开关update
命令:默认情况下,Composer 脚本仅在基础包2中执行1 。因此,您可以拥有一个用于开发的包,并在实时环境中使其成为实时系统的依赖项。
除此之外,我看不到任何自动区分脚本的方法。