Comando Drush não encontrado após a instalação completa do Drush

11

Eu instalei o Drush 8 com o compositor.

composer require drush/drush:~8

Infelizmente, o comando error drush não foi encontrado após a instalação completa do Drush.

Por que o comando drush não pode ser usado?

insira a descrição da imagem aqui

Instalando Drush para Drupal 8 com Composer

https://www.youtube.com/watch?v=ZqY_XsCTmAc

JJ12345
fonte
Supondo que o seu php seja 5.4.5 ou superior, gostaria de saber se este "Build Failing" tem algo a ver com o seu problema.
Não Sssweat
@NoSssweat Thanks. Como faço para removê-lo? Isso remove o compositer.json?
JJ12345
Então tente instalar o Drush 9 master / dev.
Não Sssweat
composer global require drush/drush:dev-master
Não Sssweat

Respostas:

19

Depois de instalar o Drush, é necessário garantir que o diretório ~ / vendor / bin esteja em seu $ PATH, conforme explicado nas instruções de instalação (Nota: esse link não funciona mais)

Adicione export PATH="$HOME/.composer/vendor/bin:$PATH"ao seu ~ / .bash_profile ou ~ / .bashrc e execute source ~/.bash_profile(ou ~ / .bashrc).

Eu recomendaria contra a instalação do Drush 9 via composer requireneste momento. Aderir ao Drush 8 é provavelmente o melhor; se você quiser usar o Drush 9, use um método de instalação mais simples, como baixar o .phar ou clonar o repositório e executar composer installno diretório no qual o Drush foi clonado.

greg_1_anderson
fonte
1
I would recommend against installing Drush 9 via composer require at this time.Obrigado pela informação!
No Sssweat
1
Qual é o motivo para não instalar o Drush 9 via composer require?
Jimmy Ko
A versão não estável do Drush requer algumas versões não estáveis ​​de suas dependências. Isso pode causar algumas complicações, dependendo do que você está fazendo. Geralmente você contorna isso definindo sua estabilidade mínima, mas é mais simples instalar apenas através de outro método. Como um aparte, se você está inclinado a usar composer global requirequalquer coisa, consulte github.com/consolidation-org/cgr
greg_1_anderson
@JimmyKo A razão pela qual um Drush global não é recomendado é que, com o Drush 9+, as práticas recomendadas recomendam que o Drush seja instalado como uma dependência do Drupal. Isso evita problemas com uma incompatibilidade de versão do Drush, por exemplo.
31418 karolus
Se ainda não funcionar, `~ / .bash_profile` ou ~/.bashrcpode ter sido editado. Faça backup e encontre um padrão.
Chris feliz
11

Usando ssh no host do servidor, adicionei drush ao meu caminho seguindo as instruções do compositor: Add

    export PATH="$HOME/.composer/vendor/bin:$PATH"

para o seu ~ / .bash_profile ou ~ / .bashrc e execute o source ~ / .bash_profile (ou ~ / .bashrc)

No entanto, eu tenho essa execução

    drush status
    -bash: drush: command not found

    which composer
    /opt/cpanel/composer/bin/composer

    which drush   
    /usr/bin/which: no drush in (/home/mth/.composer/vendor/bin:/home/mth/.composer/vendor/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/cpanel/composer/bin:/home/mth/bin:/home/mth/bin)

Usando o gerenciador de arquivos do cPanel, descobri que não conseguia ver a pasta do compositor oculto, embora vi outras pastas e arquivos ocultos (prefixo de ponto). Acontece que o compositor estava dentro da pasta .config. Adicionei a nova pasta ao meu $ PATH e bingo!

    export PATH="$HOME/.config/composer/vendor/bin:$PATH"   

Horas! Moral? Verifique a localização do compositor.

mfuller526
fonte
0

Você precisa ter certeza de que drushestá localizado dentro da sua PATHvariável ambiental ou pode especificar a pasta de instalação definindo COMPOSER_BIN_DIR, por exemplo:

sudo COMPOSER_HOME=/var/lib/composer COMPOSER_BIN_DIR=/usr/local/bin COMPOSER_VENDOR_DIR=/var/lib/composer/vendor composer require drush/drush:~8

Ou é muito mais fácil instalá-lo via Phar, por exemplo, no Linux:

sudo install <(curl http://files.drush.org/drush.phar) /usr/local/bin/drush

No OS X, tente: brew install drush.

kenorb
fonte
0

Agora, embora meus problemas tenham ocorrido com uma instalação do Andaime Composer para Drupal 8, que precisa do Drush (neste caso v.9) instalado como uma dependência, eu também estava tendo problemas semelhantes. Embora um Drush global não seja mais recomendado, devido a problemas de dependência, é muito conveniente recorrer ao Drush de qualquer lugar.

O que eu recomendaria instalar é o Drush Launcher , que oferece a opção de chamar o Drush de qualquer lugar, mesmo se você estiver executando projetos diferentes usando versões diferentes do Drush. Eu tenho ele rodando localmente e nos meus servidores Web, e está funcionando bem lá. drush: command not foundCorrigiu meus problemas de visão , mesmo quando eu tinha projetos em que o Composer instalara corretamente o Drush.

karolus
fonte