запуск "drush @удаленный статус" дает "bash: drush: команда не найдена"


Я попытался следовать решению здесь: Почему drush говорит "команда не найдена", когда я пытаюсь выполнить удаленные команды?

Но это не сработало для меня, URL/usr/local/zend/bin не существует у моего хостинг-провайдера.

Я не могу запустить какую-либо удаленную команду со своего локального компьютера, я должен проверить соединение, выполнив

drush @remote ssh

И он правильно подключается через ssh, поэтому проблема не в соединении. Пожалуйста, помогите мне с этим=(Спасибо

 2
Author: Community, 2014-11-30

1 answers

Другой вопрос, на который вы ссылаетесь, идеально отвечает на ваш вопрос, за исключением того факта, что Drush находится в другом месте в удаленной системе этого пользователя. Поскольку drush @remote ssh работает для вас, введите which drush в удаленной системе, чтобы узнать, где находится ваш Drush. Скорее всего, вы получите ответ, подобный /home/USER/.composer/vendor/bin/drush. Вам нужно убедиться, что каталог /home/USER/.composer/vendor/bin находится на вашем ПУТИ. Этот каталог может отличаться, если вы не установили Drush с помощью Composer, как рекомендовано в Drush ПРОЧИТАЙТЕ МЕНЯ.

Если which drush вообще не выдает никаких выходных данных, это означает, что вы забыли установить Drush на удаленной машине. Используйте composer, следуя тем же инструкциям, что и для вашего локального компьютера, в вышеупомянутом файле README.

Обратите особое внимание на следующую часть инструкций по установке:

Добавьте глобальный каталог bin композитора в системный ПУТЬ (рекомендуется):

sed -i '1i export PATH="$HOME/.composer/vendor/bin:$PATH"' $HOME/.bashrc
source $HOME/.bashrc

Строка "sed", показанная выше, добавляет export PATH заявление в НАЧАЛО вашего файла .bashrc. Важно заранее указать свой ПУТЬ, потому что .bashrc завершается всего несколькими строками при запуске в неинтерактивном режиме в большинстве дистрибутивов Linux. Большинство других мест, в которых у вас может возникнуть соблазн указать ПУТЬ (.профиль и т. Д.), Вообще не находятся в неинтерактивном режиме. Таким образом, если вы не зададите ПУТЬ в нужном месте, то Drush будет работать из интерактивной оболочки (например, после drush @remote ssh), но большинство удаленных команд Drush (например, drush @remote status) будут нет.

 4
Author: greg_1_anderson, 2020-06-15 09:13:00