目前正在开发一个使用 docker-compose 创建多容器应用程序的项目。大多数应用程序代码都在我的机器上,但在 docker-compose up 期间,composer installnpm install 都在 docker 实例上触发,而不是在我的本地机器上。正如预期的那样,对本地机器上的源进行更改会立即反射(reflect)在 Docker 上,但 PhpStorm 看不到 vendor 文件夹的内容。 vendor 文件夹作为 docker-compose 文件中的卷公开。

有没有办法告诉 PhpStorm Docker 机器上 vendor 的内容?目前 PhpStorm 找不到任何 vendor 声明,我无法使用智能。

最佳答案

我认为 vendor 文件夹也必须在您的 PHPStorm 项目中,否则 PHPStorm 将无法检查它。
因此,如果您的 PHPStorm 项目具有以下文件夹:

public
src
tests
vendor

您可以像这样将它们映射到容器中:
    volumes:
      - ./public:/var/www/project/public
      - ./src:/var/www/project/src
      - ./vendor:/var/www/project/vendor

至少我在最近的项目中是这样做的,PHPStorm 和容器都能够在供应商文件夹中找到东西。
即使 composer install 在容器内运行,它也会将所有依赖项放入 PHPStorm 可以访问的 vendor 文件夹中。

关于docker - PhpStorm + Docker + Composer,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57486589/

10-16 05:31