在PHP项目中,composer是一个使用非常普遍的包管理工具,在本地开发的时候出现了这个问题一搬来说问题不大,可以人为进行输入交互,但是如果是自动化发布中出现,就会等待输入导致卡住,是一个需要解决的问题。
表现
当执行composer update的时候具体体现如下,这个时候就出现了发布等待。
解决办法
一般来说,都是依赖的外部包,所以正常情况下都是选择直接覆盖(Discard changes)。有如下两种处理方式。方式1: 全局设置 discard-changes true
php composer.phar config --global discard-changes true
方式2: 在composer.json文件中做如下配置
"config": {
"discard-changes": true
}
然后更换composer update
命令为composer update -n
,关于命令的说明见下图,表示不询问任何交互。
更多关于composer的命令可以参考 https://docs.phpcomposer.com/03-cli.html