目前正在处理一个使用docker-compose
创建多容器应用程序的项目。大多数应用程序代码都存在于我的计算机上,但在docker-compose up
期间,composer install
和npm install
都是在 docker 实例上触发的,而不是在我的本地计算机上。在我的本地机器上对源代码进行更改会立即反映在 Docker 上,正如预期的那样,但 PhpStorm 看不到vendor
文件夹的内容。vendor
文件夹在 docker 撰写文件中显示为卷。
有没有办法告诉 PhpStorm 关于 Docker 机器上vendor
的内容?目前 PhpStorm 找不到任何vendor
声明,我无法使用智能。
在 docker 项目中,您必须在 docker 容器内运行您的应用程序或 api,没有必要在本地运行它,当然你有这样的东西
volumes:
- .:/usr/src
- /usr/scr/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 也可以访问的供应商文件夹中。