Comments (4)
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.
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.
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.
@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)
- `UploadedFile::moveTo()` doesn't remove the original file when used in CLI context and keep grab the handle. HOT 1
- `FilterUsingXForwardedHeaders` should correctly deal with `<host>:<port>` pair in `X-FORWARDED-HOST` header HOT 9
- [RFC]: Allow better constraint handling for PHP HOT 2
- Could ServerRequestFactory::marshallUriFromSapi() be made public? HOT 4
- Update to PSR-7 1.1/2.0 HOT 2
- Remove image stream compatibility from `Stream`
- CVE-2023-29530: Fix For PHP 7.4 HOT 16
- CLI command to register diactoros as pinned for `php-http/discovery`
- Drop deprecated function marshalUriFromSapi
- PhpInputStream::getContent() inconsistency HOT 9
- RFC: Read php input stream content into php temp stream to allow all stream features in PhpInputStream HOT 1
- Numeric header names handling in PSR-7 message objects
- V3 getBody()->getContents() no longer returns full stream on second call HOT 3
- `composer.json` provides non-existing versions of `psr/http-factory`
- security vonerability HOT 1
- Plus signs in cookie data get converted to space.
- marshal_headers_from_sapi.php line 29 HOT 2
- `Uri::__toString()` can yield malformed URIs HOT 2
- 2.x series does not support PHP 8.3 HOT 20
- [RFC]: Remove `scheme` filtering HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from laminas-diactoros.