Команда Drush не знайдена після того, як Drush повністю встановлений


11

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

composer require drush/drush:~8

На жаль, після того, як Drush повністю встановлений, команду drush помилки не знайдено .

Чому команду drush не можна використовувати?

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

Встановлення Drush для Drupal 8 разом із композитором

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


Якщо припустити, що ваш php - 5.4.5 або терка, мені цікаво, чи це "Збій збій" має щось спільне з вашою проблемою.
Без зачистки

@NoSssweat Дякую Як її видалити? Це вилучити composer.json?
JJ12345


Потім спробуйте встановити Drush 9 master / dev.
Без зачистки

composer global require drush/drush:dev-master
Без зачистки

Відповіді:


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.Дякую за інформацію!
Без зачистки

1
Яка причина проти встановлення Drush 9 via composer require?
Джиммі Ко

Нестабільна версія Drush вимагає деяких нестабільних версій її залежностей. Це може спричинити деякі ускладнення, залежно від того, що ви робите. Як правило, ви обійдете це, встановивши мінімальну стабільність, але простіше просто встановити іншим методом. Як сторону, якщо ви схильні використовувати що- composer global requireнебудь, будь ласка, дивіться github.com/consolidation-org/cgr
greg_1_anderson

@JimmyKo Причина того, що глобальний Drush не рекомендується, полягає в тому, що з Drush 9+ найкращі практики рекомендують встановлювати Drush як залежність від Drupal. Це, наприклад, запобігає виникненню проблем із невідповідністю версії Drush.
carolus

Якщо вона все ще не працює, `~ / .bash_profile` або ~/.bashrcможе бути відредагована. Створіть резервну копію та знайдіть за замовчуванням.
Кріс Щасливий

11

Використовуючи ssh на хості сервера, я додав удар до мого шляху, дотримуючись інструкцій композитора: Додати

    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"   

Години! Мораль? Перевірте місце композитора.


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, який потребує Drush (в даному випадку v.9), встановлений як залежність, у мене теж були подібні проблеми. Незважаючи на те, що глобальний Друш більше не рекомендується, через проблеми із залежністю дуже зручно дзвонити на Друша з будь-якого місця.

Що я рекомендував би встановити, це Drush Launcher , який дасть вам можливість дзвонити на Drush з будь-якого місця, навіть якщо ви виконуєте різні проекти, використовуючи різні версії Drush. У мене він працює як локально, так і на моїх веб-серверах, і він працює нормально. Це drush: command not foundвирішило мої проблеми , коли я бачив проекти, де композитор правильно встановив Drush.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.