完全安装Drush之后找不到Drush命令


11

我在作曲家中安装了Drush 8。

composer require drush/drush:~8

不幸的是,在完全安装Drush之后,找不到drush错误命令

为什么drush命令不能使用?

在此处输入图片说明

使用Composer安装Drupal for Drupal 8

https://www.youtube.com/watch?v=ZqY_XsCTmAc


假设您的PHP为5.4.5或更高版本,我想知道 “ Build Failing”是否与您的问题有关。
No Sssweat

@NoSssweat谢谢。如何将其删除?那是删除composer.json吗?
JJ12345'7


然后尝试安装Drush 9 master / dev。
No Sssweat

composer global require drush/drush:dev-master
No Sssweat

Answers:


19

安装Drush之后,您需要确保〜/ vendor / bin目录位于$ PATH中,如安装说明中所述 (注意:此链接不再起作用)

添加export PATH="$HOME/.composer/vendor/bin:$PATH"到您的〜/ .bash_profile或〜/ .bashrc,然后运行source ~/.bash_profile(或〜/ .bashrc)。

我建议此时不要安装Drush 9 composer require。坚持使用Drush 8可能是最好的选择。如果要使用Drush 9,请使用更简单的安装方法,例如下载.phar,或克隆存储库并composer install在将Drush克隆到的目录中运行。


1
I would recommend against installing Drush 9 via composer require at this time.谢谢(你的)信息!
没有Sssweat

1
反对通过以下方式安装Drush 9的原因是什么composer require
Jimmy Ko

Drush的不稳定版本需要其依赖项的某些不稳定版本。这可能会导致一些并发症,具体取决于您正在做什么。通常,您可以通过设置最小稳定性来解决此问题,但是通过另一种方法安装更简单。顺便说composer global require
一句

@JimmyKo不建议使用全局Drush的原因是,在Drush 9+中,最佳实践建议将Drush安装为Drupal的依赖项。例如,这可以防止Drush版本不匹配的问题。
karolus '18 -10-7

如果仍然无法使用,则~/.bashrc可能是〜〜..bash_profile`或已被编辑。备份并找到默认值。
克里斯·

11

在服务器主机上使用ssh,我确实按照作曲家的说明将drush添加到了我的路径中:

    export PATH="$HOME/.composer/vendor/bin:$PATH"

到〜/ .bash_profile或〜/ .bashrc,然后运行源〜/ .bash_profile(或〜/ .bashrc)

但是,我跑了

    drush status
    -bash: drush: command not found

    which composer
    /opt/cpanel/composer/bin/composer

    which drush   
    /usr/bin/which: no drush in (/home/mth/.composer/vendor/bin:/home/mth/.composer/vendor/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/cpanel/composer/bin:/home/mth/bin:/home/mth/bin)

使用我的cPanel文件管理器,我发现看不到隐藏的composer文件夹,尽管我看到了其他隐藏的文件夹和文件(点前缀)。原来composer在.config文件夹中。我将新文件夹添加到$ PATH和Bingo中!

    export PATH="$HOME/.config/composer/vendor/bin:$PATH"   

小时!道德?验证作曲家的位置。


0

您需要确保它drush位于您的环境PATH变量中,或者您可以通过设置来指定安装文件夹COMPOSER_BIN_DIR,例如:

sudo COMPOSER_HOME=/var/lib/composer COMPOSER_BIN_DIR=/usr/local/bin COMPOSER_VENDOR_DIR=/var/lib/composer/vendor composer require drush/drush:~8

或者通过Phar安装它要容易得多,例如在Linux上:

sudo install <(curl http://files.drush.org/drush.phar) /usr/local/bin/drush

在OS X上,尝试:brew install drush


0

现在,尽管我的问题是为Drupal 8安装Composer Scaffold,但需要将Drush(在本例中为v.9)安装为依赖项,但我也遇到了类似的问题。即使由于依赖性问题而不再推荐使用全局Drush,也可以从任何地方调用Drush都很方便。

我建议安装的是Drush Launcher,即使您使用不同版本的Drush运行不同的项目,也可以从任何地方调用Drush。我让它同时在本地和Web服务器上运行,并且在那里运行良好。drush: command not found即使我在Composer正确安装了Drush的项目中,它也解决了我看到的问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.