Проблемы с установкой зависимостей Laravel Composer - PullRequest
0 голосов
/ 21 мая 2019

Мы пытаемся установить пакет google / recaptcha 1.1 через Composer, чтобы установить его, Composer просит установить пакет phpdocumentor, однако при запуске

# composer require --dev phpdocumentor / phpdocumentor dev-master 

это дает нам ошибку, о которой я прикрепляю отпечаток экрана. enter image description here

Раньше до текущего состояния Composer указывал нам на проблему с пакетом nikic / php-parser, мы нашли этот пакет, указанный в файле composer.lock, и удалили его, однако теперь Composer выдает нам эту ошибку относительно пакета symfony. / console v4.1.1, что он также указан в файле composer.lock, мы также пытаемся удалить эту зависимость из composer.lock, но я не уверен, что мы делаем все правильно, устраняя эти зависимости. Потому что в дополнение к удалению друг друга в другом пакете указана ошибка, и если мы продолжим в том же духе, мы в конечном итоге удалим много зависимостей. Пожалуйста, помогите!

Ответы [ 2 ]

1 голос
/ 21 мая 2019

не удалять вещи из composer.lock

Когда вам требуются пакеты без передачи определенной версии (например, dev-master или ^ 1), composer загрузит последние версии, относящиеся к вашему composer.json, и запишет эти версии в composer.lock.

composer.lock - это всего лишь побочный продукт установки composer

Если вы вручную отредактируете composer.lock, вы в основном испортите внутренности композиторов.

Правильный способ удаления пакета: composer remove vendor/package или вручную удалить его из composer.json и затем запустить composer update

composer.lock является священным, не трогайте его.

Теперь вы прикоснулись к нему и хотите открутить себя, поэтому:

  • удалить composer.lock rm composer.lock
  • установите ваши библиотеки обратно и получите нетронутый composer.lock composer install
  • установите вашу библиотеку composer require --dev phpdocumentor/phpdocumentor dev-master

Те же результаты, другой подход:

  • удалить composer.lock rm composer.lock
  • обновите composer.json нужными библиотеками (добавьте phpdocumentor в раздел зависимостей dev на composer.json)
  • установить все заново composer install
0 голосов
/ 21 мая 2019

PhpDocument или вы пытаетесь установить требует phpDocumentor/Reflection, который требует nikic/php-parser, и эта версия слишком высока для других ваших зависимостей.

используйте composer depends nikic/php-parser, чтобы понять, что не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...