Этот пакет nesk/puphpeteer был заархивирован и больше не работает с Laravel 9. Однако есть форки , которые, как я полагаю, будут работать с Laravel 9, поскольку в форках были обновлены зависимости в ошибках композитора. Я попробовал эти шаги в composer docs, но, похоже, не могу установить форк как зависимость композитора. Любое руководство в правильном направлении будет оценено.
В моем composer.json
у меня есть эти новые записи.
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/NigelCunningham/puphpeteer.git"
}
],
"require": {
"nesk/puphpeteer": "dev-dev"
}
}
Когда я запускаю composer update
, я получаю следующую ошибку:
"Your requirements could not be resolved to an installable set of packages.
Problem 1
- Root composer.json requires nesk/puphpeteer dev-dev -> satisfiable by nesk/puphpeteer[dev-dev]."
@NicoHaase, я добавил шаги для воспроизведения выше в редактировании.
ttps://github.com/NigelCunningham/puphpeteer не содержит ни ветки с именем dev-dev
, ни такого тега. Ни один другой репозиторий
Найджел Каннингем/кукловод говорит, что ветвь по умолчанию = dev, а другая — zoon. В приведенных выше документах композитора говорится, что имена пользовательских веток добавляются к префиксу «dev-». Я не уверен, что я делаю неправильно. Я просто пытаюсь использовать github.com/NigelCunningham/puphpeteer fork ветку по умолчанию.
Документ просто учит вас, как разветвить ветку для пользовательской поддерживаемой версии, а не для решения.
И это ссылка на две вилки, поддерживаемые сообществом, так что либо вы устанавливаете zoonru/puphpeteer
, либо NigelCunningham/puphpeteer
.
Вы можете использовать эту версию github.com/sietzekeuning/puphpeteer , которую он отправил пул реквест «Поддержка Laravel 9», но не принял, происхождение от github.com/rialto-php/puphpeteer/pull/166.
На момент написания этого поста https://github.com/NigelCunningham/puphpeteer.git не был готов к Laravel 9.
Я попытался установить его на первую стабильную версию Laravel v9.0.0 (composer create-project laravel/laravel example-app 9.0.0
).
composer.json (новые записи)
{
"repositories": [
{
"url": "https://github.com/NigelCunningham/puphpeteer.git",
"type": "git"
}
],
"require": {
"nigelcunningham/puphpeteer": "^2.0.0"
},
"minimum-stability": "dev"
}
Возможно, вам потребуется установить или включить расширение сокетов PHP.
Он выдал ошибку ниже: composer update
Your requirements could not be resolved to an installable set of packages.
Problem 1
- symfony/process[v4.0.0-BETA1, ..., v4.4.10] require php ^7.1.3 -> your php version (8.1.6) does not satisfy that requirement.
- symfony/process[v5.0.0-BETA1, ..., v5.0.0-RC1] require php ^7.2.9 -> your php version (8.1.6) does not satisfy that requirement.
- symfony/process[v5.0.0, ..., v5.1.0-RC1] require php ^7.2.5 -> your php version (8.1.6) does not satisfy that requirement.
- Root composer.json requires laravel/framework ^9.0 -> satisfiable by laravel/framework[v9.0.0-beta.1, ..., 9.x-dev].
- Root composer.json requires nigelcunningham/puphpeteer ^2.0.0 -> satisfiable by nigelcunningham/puphpeteer[2.0.0].
- Conclusion: don't install symfony/console[v6.0.19] | install symfony/process[v5.4.19] (conflict analysis result)
- Conclusion: don't install symfony/console[v6.0.3] | install symfony/process[v5.4.19] (conflict analysis result)
- Conclusion: don't install nunomaduro/collision[v6.4.0] | install symfony/process[v5.4.19] (conflict analysis result)
- Conclusion: don't install symfony/process v5.4.19 (conflict analysis result)
- Conclusion: don't install symfony/console[v6.2.5] | install symfony/process[v5.4.19] (conflict analysis result)
- nigelcunningham/puphpeteer 2.0.0 requires nesk/rialto ^1.2.0 -> satisfiable by nesk/rialto[1.2.0, 1.2.1, 1.3.0, 1.4.0].
- nesk/rialto 1.4.0 requires symfony/process ^3.3|^4.0|^5.0 -> satisfiable by symfony/process[v3.3.0-BETA1, ..., 3.4.x-dev, v4.0.0-BETA1, ..., 4.4.x-dev, v5.0.0-BETA1, ..., 5.4.x-dev].
- nesk/rialto[1.2.0, ..., 1.3.0] require symfony/process ^3.3|^4.0 -> satisfiable by symfony/process[v3.3.0-BETA1, ..., 3.4.x-dev, v4.0.0-BETA1, ..., 4.4.x-dev].
- symfony/console 6.3.x-dev conflicts with symfony/process v5.3.14.
- symfony/console 6.3.x-dev conflicts with symfony/process v5.3.2.
- symfony/console 6.3.x-dev conflicts with symfony/process v5.0.11.
- symfony/console 6.3.x-dev conflicts with symfony/process v4.4.44.
- symfony/console 6.3.x-dev conflicts with symfony/process v4.4.26.
- symfony/console 6.3.x-dev conflicts with symfony/process v3.4.47.
- symfony/console 6.3.x-dev conflicts with symfony/process v3.3.6.
- nunomaduro/collision[v6.1.0, ..., v6.2.1] require symfony/console ^6.0.2 -> satisfiable by symfony/console[v6.0.2, ..., 6.3.x-dev].
- Root composer.json requires nunomaduro/collision ^6.1 -> satisfiable by nunomaduro/collision[v6.1.0, ..., v6.x-dev].
Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
Если вы нацелите свое внимание на эту строку ниже:
- nigelcunningham/puphpeteer 2.0.0 requires nesk/rialto ^1.2.0 -> satisfiable by nesk/rialto[1.2.0, 1.2.1, 1.3.0, 1.4.0].
Для пакета nigelcunningham/puphpeteer
требуется зависимость nesk/rialto, последняя версия которой dev-dev требует symfony/process: ^3.3|^4.0|^5.0
. К сожалению, Laravel v9.0.0 (laravel/framework) требует symfony/process: ^6.0
сделать его несовместимым.
Двигаясь вперед, в своем вопросе вы объявили обязательную зависимость в своем composer.json
файле "nesk/puppeteer": "dev-dev". Это следует из той же проблемы несовместимости с Laravel v9.0.0, как описано выше.
Он выдал ошибку ниже: composer update
- nesk/puphpeteer dev-dev requires nesk/rialto ^1.2.0 -> satisfiable by nesk/rialto[1.2.0, 1.2.1, 1.3.0, 1.4.0].
- nesk/rialto 1.4.0 requires symfony/process ^3.3|^4.0|^5.0 -> satisfiable by symfony/process[v3.3.0-BETA1, ..., 3.4.x-dev, v4.0.0-BETA1, ..., 4.4.x-dev, v5.0.0-BETA1, ..., 5.4.x-dev].
Спасибо за отличный ответ! похоже, что эта вилка nesk/rialto обновлен до симфонии/процесса ^6.0. github.com/zoonru/rialto/blob/zoon/composer.json. Как я могу установить это сначала, чтобы потом я мог установить github.com/zoonru/puppeteer если я правильно понимаю. Спасибо за вашу помощь!
Для этого вы можете использовать:
composer.json (новые записи)
{
"repositories": [
{
"url": "https://github.com/zoonru/rialto.git",
"type": "git"
},
{
"url": "https://github.com/zoonru/puphpeteer.git",
"type": "git"
}
],
"require": {
"nesk/puphpeteer": "dev-master"
},
"minimum-stability": "dev"
}
К сожалению, на момент написания этого поста последний тег git (версия 1.4.0, выпущенная 12 апреля 2020 г.) для зависимости zoonru/rialto
зависел от старых версий "symfony/process": "^3.3|^4.0|^5.0"
.
Более новые изменения, указанные в вашем комментарии , направленные на поддержку новых компонентов Symfony ("symfony/process": "^3.3 || ^4.0 || ^5.0 || ^6.0"
), были внесены позднее, 16 августа 2022 года. К сожалению, более новый тег git, отражающий эти изменения, еще не был официально выпущен. . 😑
Если вы все еще настаиваете на установке zoonru/puphpeteer
, вам может потребоваться разветвить https://github.com/zoonru/rialto и создать новый тег git, отражающий новые изменения, внесенные в репозиторий.
Шаги
git tag 1.5.0 -a
, чтобы создать новый тег git. (Добавьте описание к своему тегу. Например: Версия 1.5.0)git push origin --tags
https://github.com/YOUR-GITHUB-USERNAME-HERE/rialto/tags
composer.json
вашего проекта Laravel вместо https://github.com/zoonru/rialto.git
используйте только что разветвленную версию удаленного репо. То есть: https://github.com/steven7mwesigwa/rialto.git
composer.json (новые записи)
{
"repositories": [
{
"url": "https://github.com/steven7mwesigwa/rialto.git",
"type": "git"
},
{
"url": "https://github.com/zoonru/puphpeteer.git",
"type": "git"
}
],
"require": {
"nesk/puphpeteer": "dev-master"
},
"minimum-stability": "dev"
}
Вместо этого вы можете заменить https://github.com/steven7mwesigwa/rialto.git
своим новым разветвленным URL-адресом удаленного репо.
composer update
, которая установит zoonru/puphpeteer
.А. композитор показать неск/риалто -а
PS C:\xampp\htdocs\example-app> composer show nesk/rialto -a
name : nesk/rialto
descrip. : Manage Node resources from PHP
keywords : php, node, wrapper, communication, bridge, socket
versions : 1.5.0, 1.4.0, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.2, 1.0.1, 1.0.0, 0.1.2, 0.1.1, 0.1.0, dev-zoon, dev-dev
type : library
license : MIT License (MIT) (OSI approved) https://spdx.org/licenses/MIT.html#licenseText
homepage :
source : [git] https://github.com/steven7mwesigwa/rialto.git c6ffad796941eaaf166c089f116a762f1c79d2e4
dist : []
names : nesk/rialto
autoload
psr-4
Nesk\Rialto\ => src/
requires
php ^7.2 || ^8.0
clue/socket-raw ^1.2
psr/log ^1.0 || ^2.0 || ^3.0
symfony/process ^3.3 || ^4.0 || ^5.0 || ^6.0
requires (dev)
monolog/monolog ^1.0 || ^2.0 || ^3.0
phpunit/phpunit ^8.0 || ^9.0
suggests
ext-weakref Required to run all the tests
PS C:\xampp\htdocs\example-app> composer update
Loading composer repositories with package information
Updating dependencies
Lock file operations: 4 installs, 1 update, 0 removals
- Locking clue/socket-raw (v1.6.0)
- Locking nesk/puphpeteer (dev-master 52bd425)
- Locking nesk/rialto (1.5.0)
- Downgrading psr/log (3.0.0 => 1.1.4)
- Locking vierbergenlars/php-semver (v3.0.3)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 4 installs, 1 update, 0 removals
- Syncing nesk/rialto (1.5.0) into cache
- Syncing nesk/puphpeteer (dev-master 52bd425) into cache
- Downgrading psr/log (3.0.0 => 1.1.4): Extracting archive
- Installing vierbergenlars/php-semver (v3.0.3): Extracting archive
- Installing clue/socket-raw (v1.6.0): Extracting archive
- Installing nesk/rialto (1.5.0): Cloning c6ffad7969 from cache
- Installing nesk/puphpeteer (dev-master 52bd425): Cloning 52bd42570e from cache
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
INFO Discovering packages.
fruitcake/laravel-cors ........................................................................................ DONE
laravel/sail .................................................................................................. DONE
laravel/sanctum ............................................................................................... DONE
laravel/tinker ................................................................................................ DONE
nesbot/carbon ................................................................................................. DONE
nunomaduro/collision .......................................................................................... DONE
nunomaduro/termwind ........................................................................................... DONE
spatie/laravel-ignition ....................................................................................... DONE
84 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force
INFO No publishable resources for tag [laravel-assets].
No security vulnerability advisories found
Надеюсь, вы не забудете заменить URL-адрес разветвленного репозитория, например: https://github.com/steven7mwesigwa/rialto.git
, на исходный URL-адрес https://github.com/zoonru/rialto.git
репозитория в composer.json
файле вашего проекта Laravel и переустановить zoonru/puphpeteer
, как только zoonru/rialto выпустит новый официальный тег git, когда придет время.
Спасибо за отличный ответ! похоже, что эта вилка nesk/rialto обновлена до symphony/process ^6.0. github.com/zoonru/rialto/blob/zoon/composer.json . Как я могу установить это сначала, чтобы потом я мог установить github.com/zoonru/puphpeteer, если я правильно понимаю. Спасибо за вашу помощь!
@dfeva Пожалуйста, проверьте раздел дополнений к моему отредактированному ответу.
если бы у меня было больше щедрости, я бы дал. Я собираюсь внедрить ваше решение как можно скорее и сообщу вам о своих результатах. Я также связываюсь с обоими создателями форка по электронной почте, я сообщу им о ваших подробных шагах. Я уверен, что многие, переходящие на Laravel 9 или 10, также оценят ваш ответ. -Патрик
@dfeva Спасибо за комплимент. 😊 Вы уже реализовали решение? Это решило вашу проблему?
Спасибо! Только что реализовал его, и он работает на Laravel 9. psr/log был понижен с 3.0.0 до 1.1.4, я посмотрю, какие проблемы это вызовет во фреймворке. Помимо указания новой версии драйвера хрома на путь и установки этих зависимостей github.com/puppeteer/puppeteer/issues/… пока все работает! Спасибо Спасибо!
@dfeva Добро пожаловать! Я очень рад, что смог помочь. Спасибо, что поделились своими выводами с нами здесь. 😉👍
Что именно вы уже пробовали?