首页 > 解决方案 > 如何添加到 DDEV-Local Web 容器中的 $PATH?(例如,对于 drush)

问题描述

我需要在 ddev Web 容器的 $PATH 中出现一个额外的目录,例如 /var/www/html/bin,并且我需要它不仅在我出现时出现ddev ssh(这可以通过 ~/.homeadditions 来完成/.bashrc),而且当我使用ddev exec. 这在 ddev v1.17 中达到了顶峰,其中 drush 启动器已从 Web 容器中删除,因此在我的非标准作曲家安装ddev exec drushddev drush不再找到 drush 命令。

标签: ddev

解决方案


至少有两种方法可以扩展 Web 容器中的 $PATH。在这里,我们将添加/var/www/html/something到标准 $PATH。

这些选项中的任何一个都可以:

  • 使用 docker-compose.path.yaml 挂载替换 commandline-addons.bashrc:

.ddev/docker-compose.path.yaml:

version: '3.6'
#ddev-generated
services:
  web:
    volumes:
      - ./commandline-addons.bashrc:/etc/bashrc/commandline-addons.bashrc

.ddev/命令行插件.bashrc:

export PATH="$PATH:/var/www/html/vendor/bin:/var/www/html/something"
  • 在 .ddev/web-build/Dockerfile 中添加 /editthe commandline-addons.bashrc。(如果您使用此选项,自定义 Dockerfile 将覆盖webimage_extra_packages.ddev/config.yaml,因此您必须使用docs 中的解决方法
ARG BASE_IMAGE
FROM $BASE_IMAGE
RUN echo 'export PATH="$PATH:/var/www/html/vendor/bin:/var/www/html/something"' >/etc/bashrc/commandline-addons.bashrc

这两个选项都需要ddev restart在添加它们之后。


推荐阅读