Php 如何在没有用户交互的情况下运行composer?
我正在尝试在cakephp安装上运行composer install,但它会询问用户是否需要设置文件夹权限: 注意,这是一个例子。在生产中,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
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
不起作用吗?