Giter Club home page Giter Club logo

Comments (4)

weierophinney avatar weierophinney commented on May 24, 2024

laminas-diactoros packages are marked to replace zend-diactoros packages; Composer does not install the original package if a package marked as a replacement is already installed. When testing prior to creating the Laminas packages, we were able to confirm this Composer behavior, which is why we chose to mark them as replacements.

So, now the question is: how did you get them to install side-by-side?

  • What version of Composer did you use to install dependencies?
  • What versions of (a) zend-diactoros, and (b) laminas-diactoros are installed?
  • Are they being installed as project dependencies? If not, can you provide the results of composer why, using each package as an argument, please?

Perhaps that combination of information will allow us to attempt to reproduce the issue.

from laminas-diactoros.

danepowell avatar danepowell commented on May 24, 2024

Thanks a lot, that clued me in to the root cause. I think you are right that Composer should prevent this. But in our case we have symlinked a separate composer package (via a Composer path repo) into the first one. The linked package has its own vendor directory with the zend version, and somehow PHPUnit is seeing both vendor directories.

I'm still not exactly sure how to fix this, but it doesn't seem like a bug in this package. Cheers.

from laminas-diactoros.

danepowell avatar danepowell commented on May 24, 2024

For anyone else experiencing this (since I've received support requests), you should look through your vendor directory to see where the two sets of classes (zend and laminas) are coming from. They shouldn't both be present unless you've hacked Composer, are doing some funky autoloading, or using Composer path repositories as I mentioned above.

from laminas-diactoros.

boesing avatar boesing commented on May 24, 2024

@danepowell There was a bug recently fixed in composer 2.0 which also installed two versions of the same package. I've referenced it in composer/composer#8838 but couldn't find a way of abstracting my project to a "working" example to reproduce that behavior.

Luckily, another github user provided an example which produced exactly that behavior: composer/composer#8902

So, if you're already using composer v2 (which is not stable at this time btw), you might have a package installed which is meant to be replaced by another package (which is installed aswell).

composer fixed that issue with composer/composer#8916.

from laminas-diactoros.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.