Quando uso um comando drush para fazer algo em uma máquina remota, recebo a seguinte mensagem:
bash: drush: comando não encontrado
Qual é o problema?
Quando uso um comando drush para fazer algo em uma máquina remota, recebo a seguinte mensagem:
bash: drush: comando não encontrado
Qual é o problema?
Respostas:
Esta mensagem é da máquina remota reclamando que não entendeu onde encontrar o drush
executável, não Drush reclamando que não consegue encontrar o (sub) comando que você pode estar tentando dar, mesmo que a pontuação sugira o último. (Se bash:
significa que o Bash está passando uma mensagem para você, então drush:
deve significar a mesma coisa - se houver alguma consistência. Mas, na verdade, pretende-se dizer que drush:
é o assunto da mensagem, não a origem da mensagem passada bash:
para você. fique mais claro se o segundo :
for removido.)
Drush efetua logon na sua máquina remota pelo ssh, mas não é um logon interativo normal, portanto não gera o arquivo .bash_profile. No entanto, ele gera o arquivo .bashrc.
Adicione o caminho do drush (não incluindo o drush em si, apenas o diretório que contém o drush) à variável PATH no seu .bashrc remoto e tudo deve estar bem. Por exemplo, isso pode ser assim:
PATH=$PATH:/usr/local/zend/bin
[ -z "$PS1" ] && return
. Algumas plataformas usam isso para resgatar se estiver executando no modo não interativo. O Ubuntu, por exemplo, coloca isso no seu .bashrc inicial. Se você definir seu PATH, precisará certificar-se de configurá-lo antes de qualquer condicional como este que possa forçar uma saída antecipada.
.bashrc
antes da linha # If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac
no Ubuntu 14.04