pnpm: pnpm 8.9.0 broken for windows dev drivers (ReFS)
Verify latest release
- I verified that the issue exists in the latest pnpm release
pnpm version
8.9.0
Which area(s) of pnpm are affected? (leave empty if unsure)
Store
Link to the code that reproduces this issue or a replay of the bug
No response
Reproduction steps
running pnpm i: (sometimes fails with below message)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Downloading registry.npmjs.org/firebase/10.4.0: 6,06 MB/6,06 MB, done
Downloading registry.npmjs.org/@firebase/firestore/4.2.0: 6,52 MB/6,52 MB, done
Downloading registry.npmjs.org/googleapis/126.0.1: 10,28 MB/10,28 MB, done
Downloading registry.npmjs.org/typescript/5.1.6: 7,15 MB/7,15 MB, done
Progress: resolved 1655, reused 0, downloaded 1573, added 1655, done
ERR_PNPM_BAD_PACKAGE_JSON D:\repos\teve-no\task4s\node_modules\.pnpm\webpack@5.88.2_esbuild@0.19.4\node_modules\webpack\package.json: Unexpected token '', ""... is not valid JSON while parsing '' in node_modules\.pnpm\webpack@5.88.2_esbuild@0.19.4\node_modules\webpack\package.json
if I get past error above, I can run pnpm store status: (it reports multiple changed packages)
PS D:\repos\teve-no\task4s> pnpm store status
ERR_PNPM_MODIFIED_DEPENDENCY Packages in the store have been mutated
These packages are modified:
registry.npmjs.org/@babel/helper-define-polyfill-provider/0.4.2(@babel/core@7.22.9)
registry.npmjs.org/@babel/helper-module-transforms/7.23.0(@babel/core@7.22.5)
registry.npmjs.org/@babel/helper-module-transforms/7.23.0(@babel/core@7.22.9)
registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.22.15(@babel/core@7.23.0)
registry.npmjs.org/@babel/plugin-syntax-class-properties/7.12.13(@babel/core@7.22.9)
registry.npmjs.org/@babel/plugin-syntax-import-assertions/7.22.5(@babel/core@7.23.0)
registry.npmjs.org/@babel/plugin-transform-class-static-block/7.22.11(@babel/core@7.23.0)
registry.npmjs.org/@babel/plugin-transform-classes/7.22.15(@babel/core@7.23.0)
registry.npmjs.org/@babel/plugin-transform-computed-properties/7.22.5(@babel/core@7.22.9)
registry.npmjs.org/@babel/plugin-transform-modules-commonjs/7.23.0(@babel/core@7.22.9)
registry.npmjs.org/@babel/plugin-transform-modules-commonjs/7.23.0(@babel/core@7.23.0)
registry.npmjs.org/@babel/plugin-transform-modules-systemjs/7.23.0(@babel/core@7.23.0)
registry.npmjs.org/@babel/plugin-transform-new-target/7.22.5(@babel/core@7.23.0)
registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/7.22.11(@babel/core@7.22.9)
registry.npmjs.org/@babel/plugin-transform-numeric-separator/7.22.11(@babel/core@7.23.0)
registry.npmjs.org/@babel/plugin-transform-regenerator/7.22.10(@babel/core@7.23.0)
registry.npmjs.org/@babel/plugin-transform-reserved-words/7.22.5(@babel/core@7.23.0)
registry.npmjs.org/@babel/plugin-transform-typeof-symbol/7.22.5(@babel/core@7.23.0)
registry.npmjs.org/css-tree/2.2.1
registry.npmjs.org/css-tree/2.3.1
registry.npmjs.org/mdn-data/2.0.30
registry.npmjs.org/terser-webpack-plugin/5.3.9(esbuild@0.19.4)(webpack@5.88.2)
registry.npmjs.org/webpack/5.88.2(esbuild@0.18.17)
registry.npmjs.org/webpack/5.88.2(esbuild@0.19.4)
if I run pnpm store prune it also clears all packages in store (like there is no ref)
Describe the Bug
The performance improvements introduced for Windows Dev Drives in 8.9.0 seems to have broken it. It works fine on dev drives with 8.8.0, but I get multiple errors as described in the Repro steps above with 8.9.0. I tried with node 18.18.0 and 20.8.0
Expected Behavior
It works as for 8.8.0 (verified that also pruning works correctly)
Which Node.js version are you using?
18.18.0 and 20.8.0
Which operating systems have you used?
- macOS
- Windows
- Linux
If your OS is a Linux based, which one it is? (Include the version if relevant)
No response
About this issue
- Original URL
- State: closed
- Created 9 months ago
- Comments: 21 (10 by maintainers)
Commits related to this issue
- fix: don't use reflinks on Windows ref #7186 — committed to pnpm/pnpm by zkochan 9 months ago
- fix: don't use reflinks on Windows (#7207) ref #7186 — committed to pnpm/pnpm by zkochan 9 months ago
- fix: update pnpm (#8033) ## Proposed Changes - The main reason for this update is to revert the creation of reflinks on Windows, which doesn't work reliably at the moment (related issue https://... — committed to teambit/bit by zkochan 8 months ago
I am releasing 8.9.2, which reverts the change on Windows.
After a few tests, sometimes when cloning multiple file (or the the same file multiple times) the destination is empty, I’m working on a solution.