drush / drush dev-master requer codegyre / robo ~ 1.0.0-beta1

10

Estou migrando um site do Drupal 6 para o Drupal 8.1. Seguindo as instruções oficiais, configurei uma nova instalação em seu próprio diretório. Como este é apenas um site, segui as instruções para colocar minhas credenciais de banco de dados em sites / default / default.settings.php após a declaração da matriz $ database.

A execução drush --statusretorna o seguinte.

Drush version          :  8.1-dev                                          
Drush temp directory   :  /tmp                                             
Drush configuration    :                                                   
Drush alias files      :                                                   
Drupal root            :  /media/psf/Home/apps/newp                        
Drupal Settings File   :  MISSING

Como este Drupal é 8.1-dev, isso significa que eu preciso atualizá-lo. Como esta é uma instalação global usando o Composer, eu corro composer global update.

Seus requisitos não puderam ser resolvidos para um conjunto instalável de pacotes drush / drush dev-master requer codegyre / robo ~ 1.0.0-beta1

Verificar a página drush-ops no github não mostra nenhuma anomalia como essa nem minha pesquisa no Google.

O que eu estou negligenciando?

sam452
fonte
A mensagem é basicamente dizendo que você precisa instalar codegyre / robo ~ 1.0.0-beta1
Não Sssweat

Respostas:

21

O ramo dev / master do Drush é uma versão de desenvolvimento, portanto depende de componentes não estáveis, como o Robo 1.0.0-beta1. O Composer rejeitará esse componente, a menos que você tenha "minimum-stability": "beta"no seu arquivo composer.json. Observe que o Drush em si tem essa configuração, mas se você incluir o Drush de outro projeto (por exemplo, o site do Drupal), também precisará definir sua estabilidade mínima no arquivo composer.json de nível superior do projeto.

Talvez uma solução mais razoável seria executar composer require drush/drush:~8e usar a versão estável do Drush.

ATUALIZAR

O Drush masteragora está usando a versão estável do Robo ~ 1, por isso deve ser mais fácil instalar o Drush via composer require, pelo menos por enquanto. É sempre possível que, em algum momento no futuro, a versão de desenvolvimento do Drush possa se tornar dependente de recursos disponíveis apenas em uma versão não estável de uma de suas dependências; portanto, você sempre deve estar preparado para definir sua estabilidade mínima quando exigindo uma versão de desenvolvimento do Drush - ou qualquer outro projeto do Composer.

greg_1_anderson
fonte
Acho que o OP instalou o instantâneo de desenvolvimento porque eles estão usando o Drupal 8.1-dev. Eles provavelmente não sabem que o Drush 8 é compatível com essa versão do Drupal.
Kiamlaluno
A versão mais antiga do Drush foi instalada antes do Drupal 8 ser lançado. Os documentos do drush-ops supõem que todos conhecem o Composer o suficiente para derivar o comando correto.
sam452
Este comando atualiza corretamente o drush para uma versão mais recente. Eu esperava que, depois de executar o status de drush, o arquivo de configurações do Drupal fosse encontrado, mas ainda está "faltando". Onde deveria estar um padrão, se não onde eu o deixei?
sam452 10/10
Parece que, para que o Drupal encontre meu arquivo de configurações, parece que tenho que remover o "padrão" no nome do arquivo, como na configuração do Drupal 7.
sam452 20/05
lembre-se de usar o caminho completo para Drush ../vendor/bin/drush (quando em / web off docroor) se você não tem um alias e você obtém: $ drush The program 'drush' is currently not installed. You can install it by typing: sudo apt-get install drush então, usar: $ ../vendor/bin/drush Execute a drush command. Run Drush ajuda [comando] `para o específico comando-view Socorro. Corra drush topicpara ler ainda mais documentação.` #
therobyouknow 15/11