laravel - 与 laravel/socialite 移动 tp laravel 7 冲突
问题描述
我尝试将我的 laravel 6 appto 7x 分支移动并遇到 laravel/socialite 的问题,似乎不同的包取决于不同的 laravel/socialite 版本:
Problem 1
- Installation request for laravel/socialite dev-master -> satisfiable by laravel/socialite[dev-master].
- socialiteproviders/manager dev-master requires laravel/socialite ~3.0|~4.0 -> satisfiable by laravel/socialite[3.0.x-dev, 4.0.x-dev].
- Can only install one of: laravel/socialite[dev-master, 3.0.x-dev].
- Can only install one of: laravel/socialite[dev-master, 4.0.x-dev].
- Installation request for socialiteproviders/manager dev-master -> satisfiable by socialiteproviders/manager[dev-master].
在我的 composer.json 中:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": "^7.2.5",
"alaouy/youtube": "^2.2",
"aloha/twilio": "^4.0",
"arrilot/laravel-widgets": "^3.12",
"cornford/googlmapper": "2.*",
"cviebrock/eloquent-sluggable": "^7.0",
"davejamesmiller/laravel-breadcrumbs": "5.x",
"doctrine/dbal": "^2.8",
"facebook/graph-sdk": "^5.7",
"fideloper/proxy": "^4.0",
"google/apiclient": "dev-master",
"guzzlehttp/guzzle": "6.5.x-dev",
"intervention/image": "^2.4",
"itsgoingd/clockwork": "^3.0",
"jrean/laravel-user-verification": "dev-master",
"laravel/cashier": "^10.3",
"laravel/framework": "^7.0",
"laravel/socialite": "dev-master",
"laravel/tinker": "^2.0",
"laravelium/sitemap": "7.0.1",
"maatwebsite/excel": "^3.1",
"qlick/laravel-full-calendar": "~1.0",
"mews/captcha": "3.1.0",
"mews/purifier": "3.2.0",
"paypal/rest-api-sdk-php": "*",
"pelago/emogrifier": "3.1.0",
"proengsoft/laravel-jsvalidation": ">2.2.0",
"s-ichikawa/laravel-sendgrid-driver": "~2.0",
"snowfire/beautymail": "dev-master",
"socialiteproviders/manager": "dev-master",
"socialiteproviders/instagram": "dev-master",
"spipu/html2pdf": "^5.2",
"stripe/stripe-php": "^7.2",
"symfony/psr-http-message-bridge": "^1.2",
"themsaid/laravel-mail-preview": "dev-master",
"unisharp/laravel-filemanager": "^1.9",
"wboyz/laravel-enum": "^0.2.1",
"willvincent/feeds": "dev-master",
"yajra/laravel-datatables-oracle": "^9.0.0",
"zendframework/zend-diactoros": "^2.1"
},
"require-dev": {
},
...
}
我没能解决这个问题。可以通过什么方式实现?
修改块: 我将存储库定义添加到 composer.json :
"repositories": [
{
"type": "vcs",
"url": "https://github.com/jeremykenedy/Generators-1.git"
}
],
"require": {
"php": "^7.2.5",
"alaouy/youtube": "^2.2",
"aloha/twilio": "^4.0",
"arrilot/laravel-widgets": "^3.12",
"cornford/googlmapper": "2.*",
"cviebrock/eloquent-sluggable": "^7.0",
"davejamesmiller/laravel-breadcrumbs": "5.x",
"doctrine/dbal": "^2.8",
"facebook/graph-sdk": "^5.7",
"fideloper/proxy": "^4.0",
"google/apiclient": "dev-master",
"guzzlehttp/guzzle": "6.5.x-dev",
"intervention/image": "^2.4",
"itsgoingd/clockwork": "^3.0",
"jrean/laravel-user-verification": "dev-master",
"laravel/cashier": "^10.3",
"laravel/framework": "^7.0",
"laravel/socialite": "dev-master",
"laravel/tinker": "^2.0",
"laravelium/sitemap": "7.0.1",
"maatwebsite/excel": "^3.1",
"mews/captcha": "3.1.0",
"mews/purifier": "3.2.0",
"paypal/rest-api-sdk-php": "*",
"pelago/emogrifier": "3.1.0",
"proengsoft/laravel-jsvalidation": ">2.2.0",
"qlick/laravel-full-calendar": "~1.0",
"s-ichikawa/laravel-sendgrid-driver": "~2.0",
"snowfire/beautymail": "dev-master",
"socialiteproviders/generators": "^4.6",
"socialiteproviders/instagram": "dev-master",
"socialiteproviders/manager": "dev-master",
"spatie/browsershot": "^3.27",
"spatie/db-dumper": "^2.14",
"spatie/laravel-activitylog": "^3.1",
"spatie/laravel-backup": "^6.1",
"spatie/laravel-feed": "^2.1",
"spatie/laravel-image-optimizer": "^1.4",
"spatie/laravel-newsletter": "^4.2",
"spatie/laravel-sitemap": "^5.3",
"spatie/laravel-tags": "^2.1",
"spipu/html2pdf": "^5.2",
"stripe/stripe-php": "^7.2",
"symfony/psr-http-message-bridge": "^1.2",
"themsaid/laravel-mail-preview": "dev-master",
"unisharp/laravel-filemanager": "^1.9",
"wboyz/laravel-enum": "^0.2.1",
"willvincent/feeds": "dev-master",
"yajra/laravel-datatables-oracle": "^9.0.0",
"zendframework/zend-diactoros": "^2.1"
},
"require-dev": {
"barryvdh/laravel-debugbar": "^3.1",
"filp/whoops": "^2.0",
"fzaninotto/faker": "^1.4",
"mockery/mockery": "^1.0",
"nunomaduro/collision": "4.1",
"orangehill/iseed": "^2.6",
"phpunit/phpunit": "^8.5"
},
但我得到了错误:
$ composer require socialiteproviders/generators
Using version ^4.6 for socialiteproviders/generators
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for laravel/socialite dev-master -> satisfiable by laravel/socialite[dev-master].
- socialiteproviders/manager dev-master requires laravel/socialite ~3.0|~4.0 -> satisfiable by laravel/socialite[3.0.x-dev, 4.0.x-dev].
- Can only install one of: laravel/socialite[dev-master, 3.0.x-dev].
- Can only install one of: laravel/socialite[dev-master, 4.0.x-dev].
- Installation request for socialiteproviders/manager dev-master -> satisfiable by socialiteproviders/manager[dev-master].
我是否要从 composer.json 的“要求”中删除一些点?必须用 socialiteproviders/generators 替换什么?
修改块#2: 我尝试得到其他错误:
$ composer dump-autoload
Generating optimized autoload files
Class Illuminate\Foundation\ComposerScripts is not autoloadable, can not call post-autoload-dump script
> @php artisan package:discover
Fatal error: Uncaught Error: Class 'Illuminate\Foundation\Application' not found in /mnt/_work_sdb8/wwwroot/lar/votes/bootstrap/app.php:14
Stack trace:
#0 /mnt/_work_sdb8/wwwroot/lar/votes/artisan(20): require_once()
#1 {main}
thrown in /mnt/_work_sdb8/wwwroot/lar/votes/bootstrap/app.php on line 14
PHP Fatal error: Uncaught Error: Class 'Illuminate\Foundation\Application' not found in /mnt/_work_sdb8/wwwroot/lar/votes/bootstrap/app.php:14
Stack trace:
#0 /mnt/_work_sdb8/wwwroot/lar/votes/artisan(20): require_once()
#1 {main}
thrown in /mnt/_work_sdb8/wwwroot/lar/votes/bootstrap/app.php on line 14
Script @php artisan package:discover handling the post-autoload-dump event returned with error code 255
在我的 bootstrap/app.php 中:
<?php
$app = new Illuminate\Foundation\Application(
realpath(__DIR__ . '/../')
);
我丢失了一些声明吗?
修改块#3: 我尝试按照您的文件顺序:块“关键字”,“许可证”,“类型”,“要求”
"laravel/socialite": "dev-master",
...
"socialiteproviders/generators": "^4.6",
"socialiteproviders/manager": "dev-master",
"socialiteproviders/instagram": "dev-master"
在底部
下一个块:
“需要开发”,
“存储库”:[{“类型”:“vcs”,“url”:“ https://github.com/jeremykenedy/Generators-1.git ”}],
“自动加载”:
我的 composer.json 有:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": [
"framework",
"laravel"
],
"license": "MIT",
"type": "project",
"require": {
"php": "^7.2.5",
"alaouy/youtube": "^2.2",
"aloha/twilio": "^4.0",
"arrilot/laravel-widgets": "^3.12",
"cornford/googlmapper": "2.*",
"cviebrock/eloquent-sluggable": "^7.0",
"davejamesmiller/laravel-breadcrumbs": "5.x",
"doctrine/dbal": "^2.8",
"facebook/graph-sdk": "^5.7",
"fideloper/proxy": "^4.0",
"google/apiclient": "dev-master",
"guzzlehttp/guzzle": "6.5.x-dev",
"intervention/image": "^2.4",
"itsgoingd/clockwork": "^3.0",
"jrean/laravel-user-verification": "dev-master",
"laravel/cashier": "^10.3",
"laravel/framework": "^7.0",
"laravel/socialite": "dev-master",
"laravel/tinker": "^2.0",
"laravelium/sitemap": "7.0.1",
"maatwebsite/excel": "^3.1",
"qlick/laravel-full-calendar": "~1.0",
"mews/captcha": "3.1.0",
"mews/purifier": "3.2.0",
"paypal/rest-api-sdk-php": "*",
"pelago/emogrifier": "3.1.0",
"proengsoft/laravel-jsvalidation": ">2.2.0",
"s-ichikawa/laravel-sendgrid-driver": "~2.0",
"snowfire/beautymail": "dev-master",
"spatie/browsershot": "^3.27",
"spatie/db-dumper": "^2.14",
"spatie/laravel-activitylog": "^3.1",
"spatie/laravel-backup": "^6.1",
"spatie/laravel-feed": "^2.1",
"spatie/laravel-image-optimizer": "^1.4",
"spatie/laravel-newsletter": "^4.2",
"spatie/laravel-sitemap": "^5.3",
"spatie/laravel-tags": "^2.1",
"spipu/html2pdf": "^5.2",
"stripe/stripe-php": "^7.2",
"symfony/psr-http-message-bridge": "^1.2",
"themsaid/laravel-mail-preview": "dev-master",
"unisharp/laravel-filemanager": "^1.9",
"wboyz/laravel-enum": "^0.2.1",
"willvincent/feeds": "dev-master",
"yajra/laravel-datatables-oracle": "^9.0.0",
"zendframework/zend-diactoros": "^2.1",
"socialiteproviders/generators": "^4.6",
"socialiteproviders/manager": "dev-master",
"socialiteproviders/instagram": "dev-master"
},
"require-dev": {
"barryvdh/laravel-debugbar": "^3.1",
"filp/whoops": "^2.0",
"fzaninotto/faker": "^1.4",
"mockery/mockery": "^1.0",
"nunomaduro/collision": "4.1",
"orangehill/iseed": "^2.6",
"phpunit/phpunit": "^8.5"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/jeremykenedy/Generators-1.git"
}
],
"autoload": {
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
"extra": {
"laravel": {
"dont-discover": [
]
}
},
"scripts": {
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate"
],
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover"
],
"post-update-cmd": [
"php artisan vendor:publish --provider=\"Proengsoft\\JsValidation\\JsValidationServiceProvider\" --tag=public --force"
]
},
"config": {
"preferred-install": "dist",
"sort-packages": true,
"optimize-autoloader": true
},
"minimum-stability": "dev",
"prefer-stable": true
}
但我仍然得到错误:
$ composer install
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for laravel/socialite dev-master -> satisfiable by laravel/socialite[dev-master].
- socialiteproviders/manager dev-master requires laravel/socialite ~3.0|~4.0 -> satisfiable by laravel/socialite[3.0.x-dev, 4.0.x-dev].
- Can only install one of: laravel/socialite[dev-master, 3.0.x-dev].
- Can only install one of: laravel/socialite[dev-master, 4.0.x-dev].
- Installation request for socialiteproviders/manager dev-master -> satisfiable by socialiteproviders/manager[dev-master].
哪个顺序错了?
谢谢!
解决方案
目前,Socialite 没有更新来处理 Laravel 7。
但是有办法解决这个问题。
您可以分叉项目,更新分叉的作曲家以允许 7,然后composer.json
在您的项目中更新。我已经这样做了,直到作者添加了 L7 支持。
这是我的做法:
我的项目composer.json
调用我的叉子:
"repositories": [
{
"type": "vcs",
"url": "https://github.com/jeremykenedy/Generators-1.git"
}
],
然后我做一个正常的composer update
或composer install socialiteproviders/generators
然后它使用我的叉子同时有支持。
我的项目作曲家:
https://github.com/jeremykenedy/laravel-auth/blob/master/composer.json#L37
https://github.com/jeremykenedy/laravel-auth/blob/master/composer.json#L51
我的分叉社交名流作曲家为其提供了 L7 支持: https ://github.com/jeremykenedy/Generators-1/blob/master/composer.json#L19
“社交名流/经理”:“^3.5”
https://github.com/SocialiteProviders/Manager/releases
“socialiteproviders/instagram”:“^3.0”
推荐阅读
- javascript - 如何在不更改字段值的情况下提交 React 表单
- r - 在字母 S 和列数据框中的任何数字之间添加符号
- python - lxml HTMLParser - 从字符串加载 html 自动取消转义文本
- javascript - Cypress 使用 CSRF 令牌登录
- reactjs - 使用react router dom时如何在App.js中运行使用效果
- java - 我应该使用哪个 Java 版本来创建可用于 Android 的库
- javascript - Javascript 回到顶部而不在 URL 中添加 #
- c - 试图找到输入到命令行的最大和最小数字
- python - 如何在 MongoDB 中重组集合
- python - 有没有什么方法可以读取和修改 .ini 文件的内容仅在 azure blob 存储中,而无需使用 python 在本地下载?