webflo / drush-shim
Requires
- composer/xdebug-handler: ^1.0
- laravel-zero/phar-updater: ^1.1
- webflo/drupal-finder: ^1.0
- webmozart/path-util: ^2.3
Conflicts
- drush/drush: *
README
一个围绕Drush的小型包装,用于您的全局$PATH。
为什么?
为了避免依赖性问题,最好通过Composer(composer require drush/drush
)在每个项目的基础上要求Drush。这通过将Drush放置在vendor/bin/drush
来使Drush对您的项目可用。
但是,在命令行中输入vendor/bin/drush
以执行Drush命令是不方便的。通过在本地机器上全局安装drush启动器,您只需在命令行中输入drush
,启动器就会找到并执行位于您的项目vendor
目录中的特定于项目的drush版本。
安装 - Phar
-
通过以下CLI(代码)下载最新稳定版本或浏览到 https://github.com/drush-ops/drush-launcher/releases/latest。
OSX
curl -OL https://github.com/drush-ops/drush-launcher/releases/latest/download/drush.phar
Linux
wget -O drush.phar https://github.com/drush-ops/drush-launcher/releases/latest/download/drush.phar
-
使下载的文件可执行:
chmod +x drush.phar
-
将drush.phar移动到您的
$PATH
中列出的位置,并将其重命名为drush
sudo mv drush.phar /usr/local/bin/drush
-
Windows用户:在drush.phar相同的文件夹中创建一个drush.bat文件,包含以下行。这解决了Windows不知道
drush
文件与php
相关联的问题@echo off php "%~dp0\drush" %*
更新
Drush启动器Phar能够自动更新到最新版本。
drush self-update
替代方案
只需将/path/to/vendor/bin
添加到您的$PATH
的前面。当您系统上只有一个Drupal代码库时(例如,站点位于Docker中),这很简单。当您的系统有多个代码库时,考虑使用direnv在特定代码库的基础上添加到$PATH。 一个示例.envrc文件。
回退
当找不到本地站点的Drush时,此启动器通常会抛出一个有用的错误。您可以通过导出一个环境变量来避免错误,并将执行交给全局Drush(任何版本)。
export DRUSH_LAUNCHER_FALLBACK=/path/to/drush
Xdebug兼容性
Drush启动器,如Composer默认禁用Xdebug。这大大提高了性能。您可以通过设置环境变量来覆盖此功能。DRUSH_ALLOW_XDEBUG=1 drush [command]
许可
GPL-2.0+