如何在Drupal 8或Drupal 9中不修改项目直接使用drush 8?
操作方案
前置提醒:Drush 8 最高仅支持 Drupal 8.4.x 版本,若你使用的 Drupal 版本高于 8.4.x,可能出现命令不兼容、执行报错的问题。
具体操作完全不需要改动 Drupal 8+ 项目的任何内容,步骤如下:
- 第一步:获取 Drupal7 项目中 Drush 8 的绝对路径
进入 Drupal7 项目根目录下的vendor/bin文件夹,执行pwd得到当前目录绝对路径,拼接后 Drush 8 的完整路径类似/www/drupal7/vendor/bin/drush,记好这个路径。 - 第二步:直接跨项目调用 Drush 8
执行命令时指定 Drush 8 的完整路径,同时用--root参数指向目标 Drupal 8+ 项目的根目录即可,示例命令如下:
/www/drupal7/vendor/bin/drush --root=/www/drupal9 cr
上述命令就是调用D7下的Drush8清空D9项目缓存的示例,不会对目标项目的文件、composer配置产生任何修改。
- 第三步(可选):配置全局别名简化操作
如果不想每次输入完整路径,可以给Drush8配置全局别名:编辑当前用户的shell配置文件(~/.bashrc或~/.zshrc),添加如下内容:
alias drush8='/www/drupal7/vendor/bin/drush'
保存后执行 source ~/.bashrc(zsh用户执行 source ~/.zshrc)生效,后续你在任意目录都可以直接使用 drush8 命令调用该Drush8实例:
- 如果你在Drupal8+项目根目录下,直接执行
drush8 [目标命令]即可自动识别当前项目 - 如果你在其他目录,执行
drush8 --root=/path/to/drupal/project [目标命令]即可
内容的提问来源于stack exchange,提问作者rfay
相关产品推荐
相关产品推荐

