okta / okta-sdk-php

PHP SDK for the Okta API
Apache License 2.0
38 stars 71 forks source link

tightenco/collect namespace conflicts. #63

Closed ghost closed 4 years ago

ghost commented 5 years ago

Im unable to install this package through composer due to namespace conflicts with your "tightenco/collect": "5.5.33" package and Laravel >= 5.6.*.

I believe newer versions of Collect have corrected this issue though.

ghost commented 5 years ago

An update... Running composer require okta/sdk with Laravel 5.6.* returns.

`- Installation request for symfony/http-kernel (locked at v4.2.4) -> satisfiable by symfony/http-kernel[v4.2.4].

LarryBarker commented 5 years ago

I'm having similar issues. I'm trying to use Laravel 5.5. I got past the composer problems by downgrading to 5.5.33. However, now I have issues when trying to get a users groups:

$client = (new \Okta\ClientBuilder())
            ->setConfigFileLocation(base_path('okta.yaml'))
            ->build();

        debug($client);

        $user = new \Okta\Users\User();
        $foundUser = $user->get('USER_ID');
        dump($foundUser->getGroups());

which throws: Class 'Tightenco\Collect\Support\Collection' not found

UPDATE I cannot seem to make composer bring in the Tightenco\Collect package. I have tried numerous combinations of configs for composer.json and can get the Okta\Sdk package to install, but it will not install Tightenco\Collect.

Is there any particular reason why Okta\Sdk is using Tighten's package vs. Laravel?

bretterer commented 4 years ago

I have upgraded tightenco/collect to 5.8.31. We chose to go with this package because it only contains the collection object that laravel has. Since laravel does not provide the collect package outside of all the others it would install, we decided to only include this port.

The update will be out shortly

LarryBarker commented 4 years ago

@bretterer Thanks for the update. Will this solve the issue with using this package in Laravel apps?

bretterer commented 4 years ago

@LarBearrr it should, but when it gets into the develop branch, please let me know if it doesn't

LarryBarker commented 4 years ago

@bretterer Unfortunately I'm still having issues:

$ composer require okta/sdk
Using version ^1.1 for okta/sdk
./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 okta/sdk ^1.1 -> satisfiable by okta/sdk[1.1.0].
    - Conclusion: remove laravel/framework v5.5.46
    - Conclusion: don't install laravel/framework v5.5.46
    - okta/sdk 1.1.0 requires tightenco/collect 5.5.33 -> satisfiable by laravel/framework[v5.5.33], illuminate/support[v5.5.33], tightenco/collect[v5.5.33].
    - Can only install one of: laravel/framework[v5.5.33, v5.5.46].
    - don't install illuminate/support v5.5.33|don't install laravel/framework v5.5.46
    - don't install tightenco/collect v5.5.33|don't install laravel/framework v5.5.46
    - Installation request for laravel/framework (locked at v5.5.46, required as 5.5.*@dev) -> satisfiable by laravel/framework[v5.5.46].

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

Update Although composer require okta/sdk:'1.0.0' seems to have installed but I don't see the tightenco/collect package in my vendor dir.

bretterer commented 4 years ago

You were still using release 1.1.0

There is now a release for 1.2.0 which includes the updates.

LarryBarker commented 4 years ago

@bretterer Seems there are still issues bringing this into a Laravel 5.5 application:

composer require 'okta/sdk':'1.2.0'                                      ~/Sites/oc-okta
    1/2:        http://repo.packagist.org/p/provider-latest$931036c372fbe3590c8c2636d1dd3cf98af373996e4de279afdfb2d462f9587e.json
    2/2:        http://repo.packagist.org/p/provider-2019-01$295ff58f1da61afb5b4db61b40b610468ad8bfe323a279f4e9f7ed454e44bb1f.json
    Finished: success: 2, skipped: 0, failure: 0, total: 2
./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
    - don't install tightenco/collect v5.8.31|don't install laravel/framework v5.5.46
    - don't install tightenco/collect v5.8.31|remove laravel/framework v5.5.46
    - don't install tightenco/collect v5.8.31|don't install laravel/framework v5.5.46
    - okta/sdk 1.2.0 requires tightenco/collect 5.8.31 -> satisfiable by tightenco/collect[v5.8.31].
    - Installation request for okta/sdk 1.2.0 -> satisfiable by okta/sdk[1.2.0].
    - Installation request for laravel/framework 5.5.46 -> satisfiable by laravel/framework[v5.5.46]

UPDATE After digging a little deeper, it appears the Laravel framework "replaces" tightenco/collect: https://github.com/laravel/framework/blob/1b64ff9b1180536140d24aefe3b81462e9d74517/composer.json#L71

Not sure how this affects okta/sdk though?