drush / drush dev-master требует codegyre / robo ~ 1.0.0-beta1

10

Я перевожу сайт Drupal 6 на Drupal 8.1, поэтому, следуя официальным инструкциям, я установил новую установку в своем собственном каталоге. Поскольку это только один сайт, я следовал инструкциям, чтобы поместить свои учетные данные базы данных в sites / default / default.settings.php после объявления массива $ database.

Запуск drush --statusвозвращает следующее.

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

Поскольку этот Drupal является 8.1-dev, это должно означать, что мне нужно обновить его. Поскольку это глобальная установка с использованием Composer, я запускаю composer global update.

Ваши требования не могут быть разрешены для устанавливаемого набора пакетов. Drush / drush dev-master требует codegyre / robo ~ 1.0.0-beta1

Проверка страницы drush-ops на github не показывает никаких аномалий, подобных этой, или моего поиска в Google.

Что я пропускаю?

sam452
источник
В основном в сообщении говорится, что вам нужно установить codegyre / robo ~ 1.0.0-beta1
нет Sssweat

Ответы:

21

Ветвь dev / master в Drush является разработкой, поэтому она зависит от нестабильных компонентов, таких как Robo 1.0.0-beta1. Composer отклонит этот компонент, если у вас нет "minimum-stability": "beta"файла composer.json. Обратите внимание, что сам Drush имеет этот параметр, но если вы включите Drush из какого-либо другого проекта (например, с вашего сайта Drupal), вам также потребуется установить минимальную стабильность в файле верхнего уровня composer.json вашего проекта.

Возможно, более разумным решением было бы запустить composer require drush/drush:~8и использовать стабильную версию Drush.

ОБНОВИТЬ

Drush masterтеперь использует стабильную версию Robo ~ 1, так что будет проще установить Drush через composer require, по крайней мере, на данный момент. Всегда возможно, что в какой-то момент в будущем версия Drush может стать зависимой от функций, доступных только в некотором нестабильном выпуске одной из его зависимостей, поэтому вы всегда должны быть готовы установить минимальную стабильность, когда требующий версию Drush - или любой другой проект Composer.

greg_1_anderson
источник
Я думаю, что OP установил снимок разработки, потому что они используют Drupal 8.1-dev. Они, вероятно, не знают, что Drush 8 совместим с этой версией Drupal.
kiamlaluno
Старая версия Drush была установлена ​​до выхода Drupal 8. Документы drush-ops предполагают, что каждый знает Composer достаточно, чтобы получить правильную команду.
sam452
Эта команда корректно обновляет drush до более новой версии. Я ожидал после запуска состояния drush, что файл настроек Drupal будет найден, но он все еще "MISSING". Где должен быть один дефолт, если не там, где я его оставил?
sam452
Похоже, что для того, чтобы Drupal нашел мой файл настроек, мне нужно удалить «default» в имени файла, как в настройках Drupal 7.
sam452
не забудьте использовать полный путь для drush ../vendor/bin/drush (когда в / web off docroor), если у вас нет псевдонима, и вы получаете: $ drush The program 'drush' is currently not installed. You can install it by typing: sudo apt-get install drush затем используйте: $ ../vendor/bin/drush Execute a drush command. Run drush help [command] `для просмотра конкретной команды Помогите. Беги, drush topicчтобы прочитать еще больше документации.
therobyouknow