-
Notifications
You must be signed in to change notification settings - Fork 604
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[rush] Broken peer dependency error when installing @microsoft/rush-lib #2547
Comments
@D4N14L and I did some digging: |
Yes this appears to be an upstream package issue, and has been for some time. I think for now if you don't want this to impact Rush then the AWS cache functionality needs to be removed while the upstream package dependency graph is fixed either to pass the peer dep all the way up to the consumer of |
Can we at the very least revert the NPM dist tag to Rush 5.41.0 to prevent people from installing 5.42.0? |
Looks like this rushstack/apps/rush-lib/src/logic/buildCache/AmazonS3BuildCacheProvider.ts Lines 107 to 116 in 5aabcae
I'm going to make a PR to disable this logic, since it's better than reverting the feature entirely. Maybe @raihle can help us find a way to perform equivalent functionality without a peer dependency on the entire React Native framework. The peer dependency is not actually needed by this code path BTW. But it is breaking our installs as shown above, so we need to eliminate it. |
Here's a PR: #2550 |
This PR did not work because |
While we sort this out, I have temporarily rewound the NPM disttag so that (So, Amazon... how does a cloud SDK have a dependency on React Native?!) |
We were wondering how this got past our CI build with --strict-peer-dependencies enabled. Turns it the PR included a workaround to delete the dependency locally: rushstack/common/config/rush/pnpmfile.js Lines 29 to 43 in 250d7b4
|
Here is the upstream issue: aws/aws-sdk-js-v3#2051 |
My bad on this, I expected the pnpmfile hack to disable the dependency for installers, but in retrospect that's of course not possible. V2 of the AWS SDK is huge by itself and even the earliest versions of V3 include this dependency. Would a fork of the AWS SDK with this dependency removed be acceptable as a workaround? Or perhaps we can bundle the (required parts of the) AWS SDK while building Rush and keep it as a devDependency? |
Summary
The latest Rush release has a broken peer dependency. This was originally reported by @boardend in #2393 (comment)
Repro steps
Expected result: A clean install.
Actual result:
This is a hard error with
--strict-peer-dependencies
.Details
This is a regression in Rush 5.42.0
Standard questions
@microsoft/rush
globally installed version?node -v
)?The text was updated successfully, but these errors were encountered: