El comando Drush no se encuentra después de que Drush esté completamente instalado

11

Instalé Drush 8 con el compositor.

composer require drush/drush:~8

Desafortunadamente, el comando error drush no se encuentra después de que Drush se haya instalado por completo.

¿Por qué no se puede usar el comando drush?

ingrese la descripción de la imagen aquí

Instalación de Drush para Drupal 8 con Composer

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

JJ12345
fuente
Suponiendo que su php es 5.4.5 o mayor, me pregunto si esta "falla de compilación" tiene algo que ver con su problema.
No Sssweat
@NoSssweat Gracias. ¿Cómo lo elimino? ¿Es eso eliminar el composer.json?
JJ12345
Luego intente instalar Drush 9 master / dev.
No Sssweat
composer global require drush/drush:dev-master
No Sssweat

Respuestas:

19

Una vez que haya instalado Drush, debe asegurarse de que su directorio ~ / vendor / bin esté en su $ PATH, como se explica en las instrucciones de instalación (Nota: este enlace ya no funciona)

Agregue export PATH="$HOME/.composer/vendor/bin:$PATH"a su ~ / .bash_profile o ~ / .bashrc, y luego ejecute source ~/.bash_profile(o ~ / .bashrc).

Recomendaría no instalar Drush 9 a través composer requirede este momento. Seguir con Drush 8 es probablemente lo mejor; si desea usar Drush 9, use un método de instalación más simple, como descargar el .phar, o clonar el repositorio y ejecutarlo composer installen el directorio en el que se clonó Drush.

greg_1_anderson
fuente
1
I would recommend against installing Drush 9 via composer require at this time.Gracias por la info!
No Sssweat
1
¿Cuál es la razón para no instalar Drush 9 a través de composer require?
Jimmy Ko
La versión no estable de Drush requiere algunas versiones no estables de sus dependencias. Esto puede causar algunas complicaciones, dependiendo de lo que esté haciendo. En general, se soluciona esto estableciendo su estabilidad mínima, pero es más sencillo instalarlo mediante otro método. Como comentariocomposer global require
adicional
@JimmyKo La razón por la que no se recomienda un Drush global es que con Drush 9+, las mejores prácticas recomiendan que Drush se instale como una dependencia para Drupal. Esto evita problemas con una versión de Drush que no coincide, por ejemplo.
karolus
Si aún no funciona, `~ / .bash_profile` o ~/.bashrcpodría haber sido editado. Haga una copia de seguridad y encuentre una predeterminada.
Chris Happy
11

Al usar ssh en el servidor host, agregué drush a mi ruta siguiendo las instrucciones del compositor: Agregar

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

a su ~ / .bash_profile o ~ / .bashrc, y luego ejecute la fuente ~ / .bash_profile (o ~ / .bashrc)

Sin embargo, tengo esto funcionando

    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)

Usando mi administrador de archivos cPanel, descubrí que no podía ver la carpeta oculta del compositor, aunque vi otras carpetas y archivos ocultos (prefijo de punto). Resulta que el compositor estaba dentro de la carpeta .config. ¡Agregué la nueva carpeta a mi $ PATH y bingo!

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

Horas! ¿Moral? Verificar la ubicación del compositor.

mfuller526
fuente
0

Debe asegurarse de que drushse encuentra dentro de su PATHvariable de entorno , o puede especificar la carpeta de instalación configurando COMPOSER_BIN_DIR, por ejemplo:

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

O es mucho más fácil instalarlo a través de Phar, por ejemplo, en Linux:

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

En OS X, probar: brew install drush.

kenorb
fuente
0

Ahora, aunque mis problemas fueron con una instalación de Composer Scaffold para Drupal 8 que necesita Drush (en este caso v.9) instalado como una dependencia, yo también estaba teniendo problemas similares. Aunque ya no se recomienda un Drush global, debido a problemas de dependencia, es muy conveniente recurrir a Drush desde cualquier lugar.

Lo que recomendaría instalar es Drush Launcher , que le dará la opción de llamar a Drush desde cualquier lugar, incluso si está ejecutando diferentes proyectos utilizando diferentes versiones de Drush. Lo tengo ejecutándose tanto localmente como en mis servidores web, y funciona bien allí. Solucionó mis problemas de visualización drush: command not found, incluso cuando tenía proyectos en los que Composer había instalado Drush correctamente.

karolus
fuente