Cuando uso un comando drush para hacer algo en una máquina remota, recibo el siguiente mensaje:
bash: drush: comando no encontrado
¿Cuál es el problema?
Cuando uso un comando drush para hacer algo en una máquina remota, recibo el siguiente mensaje:
bash: drush: comando no encontrado
¿Cuál es el problema?
Respuestas:
Este mensaje es de la máquina remota que se queja de que no entendió dónde encontrar el drush
ejecutable, no Drush se queja de que no puede encontrar el (sub) comando que puede estar tratando de darle, a pesar de que la puntuación sugiere lo último. (Si bash:
significa que Bash le está enviando un mensaje, entonces drush:
debería significar lo mismo, si hay alguna coherencia. Pero en realidad se pretende que drush:
sea el tema del mensaje, no la fuente del mensaje que se le transmitió) bash:
. ser más claro si :
se eliminó el segundo ).
Drush inicia sesión en su máquina remota a través de ssh, pero no es un inicio de sesión interactivo normal, por lo que no genera el .bash_profile. Sin embargo, sí genera el archivo .bashrc.
Agregue la ruta drush (sin incluir drush en sí, solo incluye el directorio que contiene drush) a la variable PATH en su .bashrc remoto y todo debería estar bien. Por ejemplo, eso puede verse así:
PATH=$PATH:/usr/local/zend/bin
[ -z "$PS1" ] && return
. Algunas plataformas usan esto para rescatar si se ejecuta en modo no interactivo. Ubuntu, por ejemplo, pone esto en su .bashrc inicial. Si configura su RUTA, debe asegurarse de configurarla antes de cualquier condicional como este que pueda forzar una salida anticipada.
.bashrc
antes de la línea # If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac
en Ubuntu 14.04