ddev - 如何添加到 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 drush
中ddev drush
不再找到 drush 命令。
解决方案
至少有两种方法可以扩展 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
在添加它们之后。
推荐阅读
- autodesk-forge - 设计自动化 LogTrace onProgress 无法匹配自定义调用中的参数
- jestjs - 开玩笑,toClick() 在使用 Puppeteer 标记时失败
- unity3d - Unity Occlusion Culling 在全封闭房间中中断
- python - conv1D 默认做 2d 卷积
- postgresql - AWS Aurora RDS PostgreSql 通过成云脚本为现有集群创建全局数据库
- javascript - JavaScript (Ajax) + PHP - 根据 PHP 函数获取(和更改??)链接
- python - 从文件位置导入时修补模块属性
- python - 当我尝试打印答案时,为什么我的索引不会相互平行?
- artificial-intelligence - 蒙特卡洛树搜索:从部署中获取价值
- excel - 为共享日历创建 MS Outlook 约会