Php 如何在没有用户交互的情况下运行composer?

Php 如何在没有用户交互的情况下运行composer?,php,cakephp,composer-php,Php,Cakephp,Composer Php,我正在尝试在cakephp安装上运行composer install,但它会询问用户是否需要设置文件夹权限: 注意,这是一个例子。在生产中,composer install命令将通过CI或其他方式自动执行: John:$ composer install Loading composer repositories with package information Installing dependencies (including require-dev) from lock file Noth

我正在尝试在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]?
这很好,但有时我想从命令行指定“是”,这样我的docker安装就不需要交互,这样我们的部署过程就可以工作了(没有用户参与!)我试过几次,检查了代码,然后疯狂地谷歌搜索,但都没有用


我猜我可以设置一个环境变量,使其默认为yes/quiet,但我就是找不到它是什么。

尝试
composer安装--无交互
composer安装-n

根据“this triggers Composer”,每当需要交互操作时,它都会选择默认选项:

--no-interaction (-n): Do not ask any interactive question.

如前面的回答所述,
--无交互
-n
参数是禁用所有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

composer安装了吗?没有交互
工作吗?否则,您可以始终配置
Installer::postInstall
命令以停止提问;)这是有效的,请回复为答案,我会将其标记为正确-谢谢!:)完成。很乐意帮忙!在我的情况下,默认值为“否”,操作失败?有没有一种方法可以自动选择“是”?
composer安装——不会想到脚本。不过,它可能会跳过对您来说很重要的步骤。
composer安装-y
不起作用吗?