Yes — --install-node. It sets up fnm (or uses nvm if you already have it) and installs a supported Node without touching the system one:
bash
curl -fsSL https://sdods.com/install.sh | sh -s -- --install-node
When neither fnm nor nvm is present it installs fnm inside the SDODS home rather than into your profile, so nothing outside that directory changes. It warns about that and prints the two lines you need if you also want that Node on your own PATH.
Node is the one prerequisite the installer will not put on your machine behind your back, which is why this is a flag and not the default. If it still cannot find a new enough Node afterwards it says so plainly:
Worth knowing that the PowerShell script has no equivalent — there is no install-node parameter on Windows. It checks Node, tells you it is too old and prints the commands to install a supported one, and then stops. So on a Windows runner this is a step you own rather than a flag you pass.
One caution from doing this in CI: if you use --install-node in a job, remember the fnm environment only exists inside the installer process. The step after it needs to set the PATH itself, or you get a green install followed by a "command not found" that looks unrelated.