我正在尝试在cakephp安装上运行composer install,但它询问用户是否要他们想要设置文件夹权限:
注意,这是一个例子。在生产中,composer install
命令将通过CI或其他任何内容自动发生:
John:$ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update
Generating autoload files
> Cake\Composer\Installer\PluginInstaller::postAutoloadDump
> App\Console\Installer::postInstall
Set Folder Permissions ? (Default to Y) [Y,n]?
这很好,但有时候我想从命令行指定'yes',这样我的docker install就不需要交互了,这样我们的部署过程就可以工作了(没有用户参与!)我已经试过几件事情,检查代码和一派疯狂无济于事。
我猜我有一个环境变量我可以设置为默认为yes / quiet,但我找不到它是什么。
答案 0 :(得分:12)
尝试composer install --no-interaction
或composer install -n
根据documentation,每当需要采取交互式操作时,这会触发Composer选择默认选项:
--no-interaction (-n): Do not ask any interactive question.
答案 1 :(得分:0)
如先前答案--no-interaction
或-n
所述,参数是在所有作曲者命令上禁用常规用户交互的正式方法。有关更多信息,请检查可用的全局选项:https://getcomposer.org/doc/03-cli.md#global-options
但是,Composer有时会询问需要答案的问题。例如:
composer update
...
In GitDownloader.php line 112:
The .git directory is missing from ..., see https://getcomposer.org/commit-deps for more information
在这些情况下,如果指定了--no-interaction
参数,则Composer会失败并显示错误。
为避免出现--no-interaction
错误,请使用yes
命令进行救援:
yes | composer update