Когда я использую команду drush для выполнения действий на удаленном компьютере, я получаю следующее сообщение:
bash: drush: команда не найдена
В чем проблема?
Когда я использую команду drush для выполнения действий на удаленном компьютере, я получаю следующее сообщение:
bash: drush: команда не найдена
В чем проблема?
Ответы:
Это сообщение от удаленного компьютера, в котором он жалуется, что не понимает, где найти drush
исполняемый файл, а не в Drush, который жалуется, что не может найти (под) команду, которую вы, возможно, пытаетесь дать, хотя пунктуация указывает на последнее. (Если bash:
означает, что Bash передает вам сообщение, то это drush:
должно означать то же самое - если есть какая-либо последовательность. Но на самом деле это означает, drush:
что это тема сообщения, а не источник сообщения, которое было передано bash:
вам. будет понятнее, если :
убрать второго .)
Снимайте журналы на удаленной машине через ssh, но это не обычный интерактивный вход, поэтому он не создает исходный файл .bash_profile. Он, однако, является источником файла .bashrc.
Добавьте путь для Drush (не включая сам Drush, а только каталог, содержащий Drush) в переменную PATH в вашем удаленном .bashrc, и все должно быть в порядке. Например, это может выглядеть так:
PATH=$PATH:/usr/local/zend/bin
[ -z "$PS1" ] && return
. Некоторые платформы используют это, чтобы помочь, если работают в неинтерактивном режиме. Ubuntu, например, помещает это в ваш исходный .bashrc. Если вы устанавливаете свой PATH, вам нужно убедиться, что вы установили его перед любым условием, таким как это, которое может вызвать ранний выход.
.bashrc
перед строкой # If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac
в Ubuntu 14.04