我想在我的Laravel 5.3 proyect中集成paypal。我想使用sger / laravel-paypal包。
当我使用composer require user / laravel-paypal来安装这个包时,composer会报告我这个错误:
Using version ^0.1.0 for sger/laravel-paypal
./composer.json has been updated
> php artisan clear-compiled
Loading composer repositories with package information
Warning: Accessing php-repo.foticos.com over http which is an insecure protocol.
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for sger/laravel-paypal ^0.1.0 -> satisfiable by sger/laravel-paypal[0.1].
- sger/laravel-paypal 0.1 requires paypal/rest-api-sdk-php 1.7.* -> satisfiable by paypal/rest-api-sdk-php[1.7.2, 1.7.3, 1.7.4, v1.7.0, v1.7.1].
- paypal/rest-api-sdk-php 1.7.2 requires psr/log 1.0.0 -> satisfiable by psr/log[1.0.0].
- paypal/rest-api-sdk-php 1.7.3 requires psr/log 1.0.0 -> satisfiable by psr/log[1.0.0].
- paypal/rest-api-sdk-php 1.7.4 requires psr/log 1.0.0 -> satisfiable by psr/log[1.0.0].
- paypal/rest-api-sdk-php v1.7.0 requires psr/log 1.0.0 -> satisfiable by psr/log[1.0.0].
- paypal/rest-api-sdk-php v1.7.1 requires psr/log 1.0.0 -> satisfiable by psr/log[1.0.0].
- Conclusion: don't install psr/log 1.0.0
Installation failed, reverting ./composer.json to its original content.
这是我的composer.json文件:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"repositories": [ { "type": "composer", "url": "http://php-repo.foticos.com" } ],
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.3.*",
"foticos/foti_api_client": "*@dev",
"foticos/laravel_foti_api": "*@dev",
"foticos/laravel_foti_webutils": "*@dev",
"barryvdh/laravel-debugbar" : "2.*",
"predis/predis" : "~1.1@dev",
"stripe/stripe-php": "^3.14",
"guzzlehttp/guzzle": "~4.0"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~4.0",
"phpspec/phpspec": "~2.1",
"symfony/dom-crawler": "~3.0",
"symfony/css-selector": "~3.0"
},
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php"
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"pre-update-cmd": [
"php artisan clear-compiled"
],
"post-update-cmd": [
"php artisan optimize"
],
"post-root-package-install": [
"php -r \"copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist",
"secure-http" : false
}
}
这就是我设法安装它的方式:
$ composer require psr/log 1.0.0
$ composer require paypal/rest-api-sdk-php 1.7.*
$ composer require sger/laravel-paypal 0.1.0
注意:
正如错误所述,您尝试安装的软件包需要版本1.0.0的psr/log
,如果你检查你的composer.lock
文件,你已经需要^1.0
或~1.0
版本的软件包的所有其他requeriments,在撰写本文时会解决1.1.0
。考虑到您要求的软件包正好需要1.0.0现在您的整套需求规则将解析为1.0.0
您可以先删除composer.lock
文件和vendor文件夹,然后将"sger/laravel-paypal": "^0.1.0",
添加到composer.json文件的要求中,然后再次执行composer install。