我正在尝试在cakephp安装上运行作曲家安装,但是它会询问用户是否要设置文件夹权限:
请注意,这是一个示例。在生产环境中,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
> CakeComposerInstallerPluginInstaller::postAutoloadDump
> AppConsoleInstaller::postInstall
Set Folder Permissions ? (Default to Y) [Y,n]?
这很好,但有时我想从命令行指定"yes",以便我的 docker 安装不需要交互,并且我们的部署过程可以工作(不涉及用户!我已经尝试了几件事,检查了代码并疯狂地搜索无济于事。
我猜有一个环境变量我可以设置为默认为是/安静,但我只是找不到它是什么。
尝试composer install --no-interaction
或composer install -n
根据文档,这会触发 Composer 在需要交互式操作时选择默认选项:
--no-interaction (-n): Do not ask any interactive question.
如前面的答案中所述,--no-interaction
或 -n
参数是禁用所有作曲家命令的常规用户交互的官方方法。有关更多信息,请查看可用的全局选项:https://getcomposer.org/doc/03-cli.md#global-options
但是,作曲家有时会提出需要答案的问题。例如:
composer update
...
In GitDownloader.php line 112:
The .git directory is missing from ..., see https://getcomposer.org/commit-deps for more information
在这些情况下,如果指定了 --no-interaction
参数,则编辑器将失败并显示错误。
为避免--no-interaction
错误,yes
命令进行救援:
yes | composer update