如何在没有用户交互的情况下运行作曲家



我正在尝试在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-interactioncomposer 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

相关内容

  • 没有找到相关文章