Команда Drush не найдена после полной установки Drush

11

Я установил Drush 8 с композитором.

composer require drush/drush:~8

К сожалению, команда drush с ошибкой не найдена после полной установки Drush .

Почему команда drush не может быть использована?

введите описание изображения здесь

Установка Drush для Drupal 8 с помощью Composer

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

JJ12345
источник
Предполагая, что ваш php равен 5.4.5 или более, мне интересно, имеет ли этот «сбой сборки» какое-то отношение к вашей проблеме.
Нет Sssweat
@ NoSssweat Спасибо. Как мне это убрать? Это удалить composer.json?
JJ12345
Затем попробуйте установить Drush 9 master / dev.
Нет Sssweat
composer global require drush/drush:dev-master
Нет Sssweat

Ответы:

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 .

greg_1_anderson
источник
1
I would recommend against installing Drush 9 via composer require at this time.Спасибо за информацию!
Нет Sssweat
1
Что является причиной против установки Drush 9 через composer require?
Джимми Ко
Нестабильная версия Drush требует некоторых нестабильных версий его зависимостей. Это может вызвать некоторые осложнения, в зависимости от того, что вы делаете. Обычно вы можете обойти это, установив минимальную стабильность, но проще просто установить другой метод. Кроме того, если вы склонны использовать composer global requireдля чего-либо, пожалуйста, смотрите github.com/consolidation-org/cgr
greg_1_anderson
@JimmyKo Причина, по которой глобальный Drush не рекомендуется, заключается в том, что с Drush 9+ лучшие практики рекомендуют устанавливать Drush в качестве зависимости для Drupal. Это предотвращает проблемы с несоответствием версии Drush, например.
Каролус
Если это все еще не работает, `~ / .bash_profile` или, ~/.bashrcвозможно, было отредактировано. Сделайте резервную копию и найдите файл по умолчанию.
Крис Хэппи
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, я обнаружил, что не могу видеть скрытую папку композитора, хотя я видел другие скрытые папки и файлы (префикс точки). Оказывается, композитор был в папке .config. Я добавил новую папку в мой $ PATH и бинго!

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

Часы работы! Мораль? Проверьте местоположение композитора.

mfuller526
источник
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.

kenorb
источник
0

Теперь, хотя у меня были проблемы с установкой Composer Scaffold для Drupal 8, для которой в качестве зависимости требуется установить Drush (в данном случае v.9), у меня тоже были подобные проблемы. Хотя глобальный Drush больше не рекомендуется, из-за проблем с зависимостями очень удобно вызывать Drush из любой точки мира.

Я бы порекомендовал установить Drush Launcher , который даст вам возможность вызывать Drush из любой точки мира, даже если вы запускаете разные проекты с использованием разных версий Drush. У меня он работает как локально, так и на моих веб-серверах, и там он работает нормально. Это исправило мои проблемы с просмотром drush: command not found, даже когда у меня были проекты, где Composer правильно установил Drush.

Karolus
источник