Когда я бегу, composer update
я получаю какой-то проводной вывод.
Вот как выглядит мой composer.json.
{
"name": "laravel/laravel",
"description": "The Laravel Framework.", "keywords": ["framework", "laravel"],
"license": "MIT",
"repositories": [{
"type": "vcs",
"url": "https://github.com/Zizaco/ardent.git"
}],
"require-dev": {
"phpunit/phpunit": "4.3.*"
},
"require": {
"laravel/framework": "4.2.*",
"laravelbook/ardent": "dev-master as 2.4.0",
"zizaco/entrust": "dev-master",
"sebklaus/profiler": "dev-master",
"doctrine/dbal": "dev-master"
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations", "app/database/seeds", "app/tests",
"app/libraries"
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "stable"
}
Как мне это исправить?
laravel
laravel-4
composer-php
cyber8200
источник
источник
Ответы:
У ваших программных зависимостей конфликт несовместимых версий.
В то же время вы хотите установить любую версию Laravel 4.2.x и «zizaco / entrust» из ее основной ветки. И эта главная ветка требует как минимум Laravel 5.0 (грубо говоря).
Проблема заключается в зависимости от веток. Вполне вероятно, что пакет zizaco / entrust когда-то использовал Laravel 4.2 в своей основной ветке, и что вы смогли установить свои зависимости в тот день. Но в тот самый момент, когда эта ветка будет обновлена с требованием несовместимой версии, вы никогда не сможете запустить
composer update
и получить обновленные зависимости.Всегда используйте версии с тегами! В идеале вы должны использовать смягченные требования к версии, которые допускают совместимые обновления. Это должно быть выражено как требование к версии с тильдой и двумя
~1.2
числами : установит версию 1.2.0 и выше (например, 1.2.99 или 1.2.100), а также 1.3 и выше. Если вам нужен определенный выпуск исправления: версия с тремя номерами^1.2.10
Caret будет устанавливать 1.2.10 или выше, также 1.3 и выше.Использование этого требования к версии вместо
dev-master
позволит вам использовать выпущенные версии вместо нестабильного состояния в главной ветке и позволит вам обратиться к самой последней версии, которая все еще работает с Laravel 4.2. Я предполагаю, что это будет версия zizaco / entrust 1.3.0, но версия 1.2 также подойдет. Идите с"zizaco/entrust": "~1.2"
.источник
"zizaco/entrust": "~1.2"
Laravel 5.0
это требуетсяzizaco/entrust
.illuminate/support ^5.0
это требуетсяzizaco/entrust
, и если вы знаете, что «Laravel» и «Illuminate» в основном одно и то же, вывод должен быть правильным.Выполните эту команду:
или же
источник
Я столкнулся с той же проблемой. Я использую микросервисный фреймворк Lumen. Недавно я решил ту же проблему, установив два пакета: -
После установки вам необходимо выполнить эту команду: - composer update
Надеюсь, это решит проблему. Я работаю над своей системой.
источник
sudo apt-get install php-xml
Были ли они
dev-master
добавлены автоматически? Избегайте их как ненужных ограничений версии, для использования «любой подходящей версии»"*"
или"@dev"
если вы не против пакетов разработчика. Я предполагаю, что Entrust - потенциальный нарушитель спокойствия.Кроме того,
"minimum-stability": "stable"
накладывает дополнительные ограничения, и"minimum-stability": "dev", "prefer-stable": true
является более бесконфликтным, считайте это практическим правилом.
источник
dev-master
ограничением. В нем не говорится, что ограничения свободной версии - это хорошо - они, вероятно, приведут к беспорядку, и это на совести разработчиков. Тот факт, что ответ по поводу тегов не является однозначным, не делает его неправильным. Спасибо за отрицательный голос, кстати. Это довольно этично - отрицать соседние ответы.Я решил ту же проблему, установив
'laravel/framework'
версию зависимости от"^8.0"
до"^7.0"
.После этого бег
composer update --ignore-platform-reqs
просто работалcomposer.json
источник
Добавить
"barryvdh/laravel-cors": "^0.7.3"
в концеrequire
массива внутри composer.jsonСохраните composer.json и запустите
composer update
Вы сделали !
источник
Я столкнулся с этой проблемой в Laravel 5.8, что я сделал, это сделал
composer require
для каждой библиотеки и всех, где она установлена правильно.Вот так:
вместо добавления в файл composer.json или указания версии:
composer require msurguy/honeypot: dev-master
Вместо этого я не указал никакой версии:
composer require msurguy/honeypot
Надеюсь, это поможет, спасибо
источник
"config": { "platform": { "ext-pcntl": "7.2", "ext-posix": "7.2" } }
источник
Я решил ту же ошибку, добавив
"zizaco/entrust": "*"
вместо"zizaco/entrust": "~1.2"
.источник
Я использую машину Windows 10, работающую с PHP 8 и Lavarel 8, и у меня такая же ошибка, я использовал следующую команду: -
composer update --ignore-platform-reqs
для обновления всех пакетов независимо от конфликтов версий.
источник
ПРИЧИНА:
Ошибка возникает из-за того, что папка вашего проекта принадлежит пользователю root.
РЕШЕНИЕ
Измените владельца на текущего авторизованного пользователя, а не на пользователя root. Если у вас есть только root как единственный пользователь, создайте другого пользователя с привилегиями root.
$ sudo chown -R текущий_пользователь / мой / проект / каталог /
тогда
$ composer install
источник
Просто активируйте завиток в файле php.ini
к
а затем композитор установить
источник