0

getting some strange errors with composer, anyone know what I can do next? I am trying to install oauth2 client on Laravel 5.1 so that I can use it to connect to an affiliate network API.

Using version ~2.2 for league/oauth2-client
./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 league/oauth2-client ~2.2 -> satisfiable by league/oauth2-client[2.2.0].
- Conclusion: remove paragonie/random_compat v1.4.2
- league/oauth2-client 2.2.0 requires paragonie/random_compat ^2.0 -> satisfiable by paragonie/random_compat[v2.0.0, v2.0.1, v2.0.10, v2.0.2, v2.0.3, v2.0.4, v2.0.5, v2.0.6, v2.0.7, v2.0.8, v2.0.9].
- Can only install one of: paragonie/random_compat[v2.0.0, v1.4.2].
- Can only install one of: paragonie/random_compat[v2.0.1, v1.4.2].
- Can only install one of: paragonie/random_compat[v2.0.10, v1.4.2].
- Can only install one of: paragonie/random_compat[v2.0.2, v1.4.2].
- Can only install one of: paragonie/random_compat[v2.0.3, v1.4.2].
- Can only install one of: paragonie/random_compat[v2.0.4, v1.4.2].
- Can only install one of: paragonie/random_compat[v2.0.5, v1.4.2].
- Can only install one of: paragonie/random_compat[v2.0.6, v1.4.2].
- Can only install one of: paragonie/random_compat[v2.0.7, v1.4.2].
- Can only install one of: paragonie/random_compat[v2.0.8, v1.4.2].
- Can only install one of: paragonie/random_compat[v2.0.9, v1.4.2].
- Installation request for paragonie/random_compat == 1.4.2.0 -> satisfiable by paragonie/random_compat[v1.4.2].


Installation failed, reverting ./composer.json to its original content.

my composer.json:

{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
    "php": ">=5.5.9",
    "laravel/framework": "5.1.*",
    "bestmomo/scafold": "dev-master",
    "illuminate/html": "5.*",
    "barryvdh/laravel-dompdf": "0.6.*",
    "davejamesmiller/laravel-breadcrumbs": "~3.0"
},
"require-dev": {
    "fzaninotto/faker": "~1.4",
    "mockery/mockery": "0.9.*",
    "phpunit/phpunit": "~4.0",
    "phpspec/phpspec": "~2.1"
},
"autoload": {
    "classmap": [
        "database",
        "app/helpers"
    ],
    "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"
}
}
Jamie000012
  • 247
  • 1
  • 6
  • 20
  • You have it written down: `- Conclusion: remove paragonie/random_compat v1.4.2 `. Have you done it? – wujt Mar 25 '17 at 14:40
  • Possible duplicate of [How to resolve a "Can only install one of:" conflict?](https://stackoverflow.com/questions/36611550/how-to-resolve-a-can-only-install-one-of-conflict) – kenorb Mar 23 '18 at 22:16

1 Answers1

0

The output of your install attempt has all the information:

Currently there is paragonie/random_compat v1.4.2 installed. Your new package requires paragonie/random_compat ^2.0 - this is an incompatible change (simply by looking at the version number, not at the code), so Composer cannot simply install the newer version.

However, some component already installed requires that older version. You can find out which one it is by running composer why paragonie/random_compat, and you can also find out why it wasn't possible to install the newer version by running composer why-not paragonie/random_compat ^2.0, which will probably output the same information.

All in all I think the suggestion on how to solve this is: Upgrade Laravel. 5.1 is rather old, and it depends on paragonie/random_compat in version ~1.4. Newer versions of Laravel (5.3 and 5.4) allow either ~1.4 or ~2.0, which would fix your issue.

I haven't looked deeper into this issue, though. It might be possible that another component also depends on this library and would also need to be updated. Laravel was my first guess.

Sven
  • 69,403
  • 10
  • 107
  • 109