Use this page after you have installed the prerequisites from a distro-specific guide or from Generic Installation Instructions.
These steps cover the shared repository bootstrap flow for Windows and Linux.
pnpm is the only tool you need to install by hand. The repository pins its own
pnpm and node.js versions and fetches them on install, so no version manager
is involved.
- Clone the repository through your git client or CLI with submodules, then open a terminal in that folder:
Linux:
git clone --recurse-submodules https://github.com/Nexus-Mods/Vortex.git
cd VortexWindows:
git clone --recurse-submodules https://github.com/Nexus-Mods/Vortex.git C:\v
cd C:\vUse C:\v on Windows to avoid path length issues.
- Install pnpm. The installer is self-contained, so you do not need
node.jsornpmfirst:
Linux:
curl -fsSL https://get.pnpm.io/install.sh | sh -Windows:
winget install -e --id pnpm.pnpmClose and reopen your terminal so pnpm resolves from PATH, then verify with
pnpm --version.
If Windows Defender blocks the winget binary, use pnpm's own installer instead:
Invoke-WebRequest https://get.pnpm.io/install.ps1 -UseBasicParsing | Invoke-Expression- Install Vortex dependencies:
pnpm installThe version you installed in step 2 only bootstraps the process. pnpm reads
packageManager from package.json, switches itself to that exact version, then
downloads the pinned node.js runtime declared in devEngines.runtime. Building
the native modules is the slow part of this step.
This also installs the git pre-commit hook for auto-formatting. If the hook is missing, install it by hand:
pnpm run preparegit --version
pnpm --version
pnpm exec node --version
pnpm nx --version
python3 --version
dotnet --list-sdkspnpm exec node --version reports the repository's pinned node.js version,
which is not necessarily the one on your PATH.
- Volta, Corepack,
npmand a globalnode.jsare not required. Thenode.jsversion is pinned bydevEngines.runtimeinpackage.jsonand by thenoderuntime entry in thepnpm-workspace.yamlcatalog. nxis a dev dependency of the repository. Always run it aspnpm nx <target>; do not install it globally.- If you want
nodeandnpmonPATHfor unrelated projects, installnode.jsseparately. It will not conflict, because repository scripts resolvenodefromnode_modules/.binfirst. - Yarn 1 is only used by the Flatpak packaging flow. See Flatpak maintenance.
- CI provisions
node.jsthrough Volta. That is a CI-only path and is not needed for local development.