-
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] pnpm 3.5.3 + rush 5.9.1 rush update
fails to link
#1347
Comments
Thanks @calebmshafer. It will help if you can provide repro repo and repro steps with the latest version of Rush. |
pnpm 3.5.3 is known to be incompatible with Rush version <= 5.9.1. |
Just setup the repro repo here, https://github.com/calebmshafer/imodeljs_rush_bug_repro. The steps are,
Then you should see the error pasted above. |
FWIW, I can reproduce this with Rush 5.10.0 as well. I have been following #1142, as we've been experiencing the same issue, and with the fix pushed I attempted to update to the latest pnpm and Rush. That's when I discovered this problem. |
I can repro this on Rush 5.10.0 and pnpm 3.5.3. Looking into this. |
I think I've seen this; I believe it's because you're missing peer dependencies in your package.json required by a different package you depend on So for example in your second text block you probably need to depend on jsdom because another package you require has a peer dependency on it |
Seems to not be an issue if you use Rush 5.10.0 and pnpm 2.25.6. |
Same error here with a different package. I've tried patching the dependency by moving the peer dependency into a proper dependency, but issue persists. |
It works with pnpm 2.25.7 as well, that's the version we're currently stuck on. I haven't tracked down all of the peer dependencies and promoted them to real dependencies but I can see if that works. |
@calebmshafer this should be fixed now in version 5.10.1 |
I can confirm it fixes the issue with installing. Thanks! Hitting a slightly different issue now but I will open a new bug for it. |
The same is with latest rush 5.15.1 and pnpm 4.0.2 |
This issue seems to be back in pnpm 6.0.2 |
@maneetgoyal I would suggest you change to pnpm version 5.7.0 which worked for me. I was on the same version as yours |
Thanks @robertkibet, it worked with pnpm v5.18.9 too |
in #2764, it said it is recently fixed by v5.47.0 |
During the move to pnpm 3.5.3 and rush 5.9.1, I deleted the shrinkwrap file and ran a
rush update --full --purge
. It successfully makes it through the pnpm install step but fails during the linking phase and receive this error,The actual file path that exists in the .local folder for the package is,
"C:\dev\imodeljs\imodeljs\common\temp\node_modules\.local\C%3A%2Fdev%2Fimodeljs%2Fimodeljs%2Fcommon%2Ftemp%2Fprojects%2Fbuild-tools.tgz_2a665c89609864b4e75bc5365d7f8f56"
.It looks like this may be related to how pnpm resolves peer dependencies, https://pnpm.js.org/docs/en/how-peers-are-resolved.html, but that's just a guess based on some of the other paths in the
.local
folder,If you'd like to reproduce the issue, the iModel.js repo when updated to use the new rush and pnpm versions will work. I can always make a separate repro repo if needed with the updated versions.
The text was updated successfully, but these errors were encountered: