如何使用 ddev 运行 Composer?

rfa*_*fay 4 ddev

我需要在我的 ddev 项目上运行 Composer,但我的 Windows 计算机上没有它。例如,项目需要composer install启动前。我如何在这种环境下使用 Composer,尤其是在 Windows 上?

rfa*_*fay 6

使用ddev composer命令更新 2023-08-07

有多种方法可以为您的项目运行 Composer。

  1. DDEV 提供ddev composerddev composer create命令。它们在容器内运行 Composer,因此保证您获得与容器内托管环境相匹配的 Composer 行为。
    • ddev composer require swiftmailer/swiftmailer
    • ddev composer update
    • ddev composer install
    • ddev composer create drupal/recommended-project

请注意,这ddev composer create并不完全相同composer create-project因此您不必了解底层文件系统的复杂性。文档中有很多示例。

这里没有什么可以阻止您使用任何您熟悉的 Composer 技术,但这是获得可预测的 Linux 容器内 Composer 构建的好方法。对于使用 Windows 操作系统的人来说,这应该非常重要,因为在 Windows 操作系统中,composer 的可用性较低,并且有一些不可预测的行为。

  1. 所有正常的 Composer 行为始终安装在您的 Web 容器内,因此无论您的主机上是否有 Composer,您都可以使用它。例如:ddev exec composer install -d /var/www/html将在存储库的根目录中安装作曲家,与ddev composer install. 也可以ddev ssh在容器中通过命令行进行操作。
  2. 每次项目启动时,尝试使用这种挂钩方法在容器内(在已安装的分区上)运行composer install :
    hooks:
      post-start:
      - composer: install
Run Code Online (Sandbox Code Playgroud)