Lorsque j'utilise une commande drush pour faire quelque chose sur une machine distante, j'obtiens le message suivant:
bash: drush: commande introuvable
Quel est le problème?
Lorsque j'utilise une commande drush pour faire quelque chose sur une machine distante, j'obtiens le message suivant:
bash: drush: commande introuvable
Quel est le problème?
Réponses:
Ce message provient de la machine distante se plaignant qu'elle n'a pas compris où trouver l' drush
exécutable, pas Drush se plaignant de ne pas trouver la (sous) commande que vous essayez de lui donner, même si la ponctuation suggère ce dernier. (Si cela bash:
signifie que Bash vous transmet un message, cela drush:
devrait signifier la même chose - s'il y a une cohérence. Mais en fait, cela signifie que drush:
c'est le sujet du message, et non la source du message qui vous est transmis bash:
. être plus clair si le second a :
été supprimé.)
Drush se connecte à votre machine distante via ssh, mais ce n'est pas une connexion interactive normale, donc il ne source pas le .bash_profile. Cependant, il source le fichier .bashrc.
Ajoutez le chemin de drush (n'incluant pas drush lui-même, juste en incluant le répertoire contenant drush) à la variable PATH dans votre .bashrc distant et tout devrait bien se passer. Par exemple, cela peut ressembler à ceci:
PATH=$PATH:/usr/local/zend/bin
[ -z "$PS1" ] && return
. Certaines plateformes l'utilisent pour renflouer si elles s'exécutent en mode non interactif. Ubuntu, par exemple, place cela dans votre .bashrc initial. Si vous définissez votre PATH, vous devez vous assurer que vous le définissez avant toute condition telle que celle-ci qui pourrait forcer une sortie anticipée.
.bashrc
avant la ligne # If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac
sur Ubuntu 14.04