You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit dc260df
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: common/changes/@microsoft/rush/support-pnpm-global-virtual-store_2026-06-11-15-20.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
"changes": [
3
3
{
4
4
"packageName": "@microsoft/rush",
5
-
"comment": "Add PNPM global virtual store support for workspace installs via RUSH_PNPM_ENABLE_GLOBAL_VIRTUAL_STORE.",
5
+
"comment": "Add PNPM global virtual store support for workspace installs via RUSH_PNPM_ENABLE_GLOBAL_VIRTUAL_STORE, with a per-subspace \"globalVirtualStore\": false opt-out in pnpm-config.json.",
Copy file name to clipboardExpand all lines: libraries/rush-lib/src/schemas/pnpm-config.schema.json
+5Lines changed: 5 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -53,6 +53,11 @@
53
53
"type": "boolean"
54
54
},
55
55
56
+
"globalVirtualStore": {
57
+
"description": "Set to false to opt this subspace out of PNPM's global virtual store when the RUSH_PNPM_ENABLE_GLOBAL_VIRTUAL_STORE environment variable is enabled. Useful for subspaces whose tooling cannot follow dependencies outside the subspace's temp folder, such as a Metro bundler restricted to its watchFolders.\n\nThe default value is undefined, which follows the environment variable.",
58
+
"type": "boolean"
59
+
},
60
+
56
61
"alwaysInjectDependenciesFromOtherSubspaces": {
57
62
"description": "When a project uses `workspace:` to depend on another Rush project, PNPM normally installs it by creating a symlink under `node_modules`. This generally works well, but in certain cases such as differing `peerDependencies` versions, symlinking may cause trouble such as incorrectly satisfied versions. For such cases, the dependency can be declared as \"injected\", causing PNPM to copy its built output into `node_modules` like a real install from a registry. Details here: https://rushjs.io/pages/advanced/injected_deps/\n\nWhen using Rush subspaces, these sorts of versioning problems are much more likely if `workspace:` refers to a project from a different subspace. This is because the symlink would point to a separate `node_modules` tree installed by a different PNPM lockfile. A comprehensive solution is to enable `alwaysInjectDependenciesFromOtherSubspaces`, which automatically treats all projects from other subspaces as injected dependencies without having to manually configure them.\n\nNOTE: Use carefully -- excessive file copying can slow down the `rush install` and `pnpm-sync` operations if too many dependencies become injected.\n\nThe default value is false.",
0 commit comments