Kiedy używam polecenia drush do zrobienia czegoś na zdalnym komputerze, pojawia się następujący komunikat:
bash: drush: nie znaleziono polecenia
Jaki jest problem?
Kiedy używam polecenia drush do zrobienia czegoś na zdalnym komputerze, pojawia się następujący komunikat:
bash: drush: nie znaleziono polecenia
Jaki jest problem?
Odpowiedzi:
Ta wiadomość pochodzi od zdalnego komputera, który narzeka, że nie zrozumiał, gdzie znaleźć drush
plik wykonywalny, a nie Drush, który nie może znaleźć polecenia (pod), które możesz mu nadać, nawet jeśli interpunkcja sugeruje to drugie. (Jeśli bash:
oznacza to, że Bash przekazuje ci wiadomość, to drush:
powinno to znaczyć to samo - jeśli istnieje jakakolwiek spójność. Ale tak naprawdę ma to oznaczać, że drush:
jest to temat wiadomości, a nie źródło wiadomości, która bash:
do ciebie trafiła. bądź jaśniejszy, jeśli drugi:
został usunięty).
Drush loguje się do twojego zdalnego komputera przez ssh, ale nie jest to normalne logowanie interaktywne, więc nie pobiera pliku .bash_profile. Jednak źródłowy plik .bashrc.
Dodaj ścieżkę drush (nie włączając samego drusha, tylko katalog zawierający drush) do zmiennej PATH w twoim zdalnym .bashrc i wszystko powinno być dobrze. Na przykład może to wyglądać tak:
PATH=$PATH:/usr/local/zend/bin
[ -z "$PS1" ] && return
. Niektóre platformy używają tego do ratowania, jeśli działają w trybie nieinteraktywnym. Na przykład Ubuntu umieszcza to w początkowym pliku .bashrc. Jeśli ustawisz ŚCIEŻKĘ, musisz upewnić się, że ustawiłeś ją przed jakimikolwiek warunkami, takimi jak ten, który może wymusić wcześniejsze wyjście.
.bashrc
przed linią # If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac
Ubuntu 14.04