ddev - 如何将 drush 8 与 Drupal 8 或 Drupal 9 一起使用?
问题描述
我正在升级一个站点,根本不想进行站点安装(composer-install),但我需要它。我知道在我的 Drupal 7 项目上安装了 drush8,但我也想在我的 Drupal8+ 项目中使用它,而无需更改项目。
解决方案
drush8 安装在 web 容器中/usr/local/bin/drush8
,但在 Drupal8+ 上它没有链接,drush
因为推荐的技术是现场安装它(ddev composer require drush/drush
)但你可以将 drush8 符号链接到 /usr/local/bin/drush,你会立即开始ddev drush
工作用德鲁什 8。
有两种方法可以做到这一点:
- 使用自定义
.ddev/web-build/Dockerfile
:
ARG BASE_IMAGE
FROM $BASE_IMAGE
RUN ln -s /usr/local/bin/drush8 /usr/local/bin/drush
- 使用启动后挂钩进行链接。将此添加到您的
.ddev/config.yaml
:
hooks:
post-start:
- exec: ln -s /usr/local/bin/drush8 /usr/local/bin/drush
第一种方式(Dockerfile)可能更好,因为它只发生一次,而第二种方式(config.yaml post-start)每次执行ddev start
.
请注意,如果您只想使用位于非标准位置的站点安装 drush,您可以使用https://stackoverflow.com/a/69399975/215713上的类似配方进行操作
推荐阅读
- javascript - Next.js 不会自动刷新
- android - 如何在 RecyclerView 中展示 AdMob 广告?
- node.js - (性能)nodejs 中的 V8 在迭代对象中的数千个属性时有多快?
- javascript - 反应 Typescript 错误“TypeError:___WEBPACK_IMPORTED_MODULE_0__.commonSortTitles 未定义”
- c - 为什么两个不相等的字母在 C 中显示为等价?
- python - 如何在 Swift 中使用 PythonKit 在 NumPy 中使用布尔掩码数组
- rust - 如何使actix-web中的路由器可以访问“全局变量”?
- reactjs - 在反应类组件中只刷新一次页面
- java - DDD - 为什么我们需要工厂?
- c# - 如何从不同的表单中显示隐藏的表单?