Overview
Envloom integrates NVM for Windows to provide seamless Node.js version management. Multiple Node.js versions can be installed side-by-side, with instant switching between versions for development and testing.NVM Integration
Installation
Envloom automatically installs NVM for Windows during bootstrap:Download NVM
Fetches the latest
nvm-noinstall.zip from coreybutler/nvm-windowsElevated Setup
Runs
install-elevated.cmd to configure NVM environment variables:NVM_HOME→bin/nvmNVM_SYMLINK→bin/node/current
If NVM installation fails due to UAC denial, you can manually run
bin/nvm/install-elevated.cmd as administrator.NVM Configuration
Envloom configures NVM to use local directories:bin/node/<version>/ with a symlink at bin/node/current pointing to the active version.
Version Management
Available Versions
Envloom displays Node.js LTS and current releases organized by major version:- 25 (Current)
- 22 (LTS Active)
- 20 (LTS Maintenance)
- 18 (LTS Maintenance)
- 16 (End of Life)
Installing Node Versions
Install Node.js by major version - NVM automatically fetches the latest build:- UI
- CLI
- Navigate to the Node page
- Find the desired major version (e.g., 22)
- Click “Install”
- Wait for download and extraction
Version Switching
Switch Node.js versions instantly without reinstalling:First Install Behavior
This prevents accidental version switches when installing additional Node versions for testing.Uninstalling Versions
Version Detection
Catalog Building
Envloom builds the Node catalog by querying NVM:Version Parsing
Versions are extracted using regex and sorted by semantic versioning:PATH Integration
Envloom manages the system PATH to include Node.js:current symlink updates automatically when switching versions, so no PATH changes are needed.
Environment Variables
Using Node.js
Global Commands
Once installed, Node.js commands work globally:Site Provisioning
Envloom uses Node during Laravel site provisioning:Package Management
CLI Commands
Version Management
NVM Direct Commands
API Reference
TypeScript Types
API Methods
Troubleshooting
NVM Not Available
IfgetNodeCatalog() returns nvmAvailable: false:
- Check if
bin/nvm/nvm.exeexists - Verify environment variables:
- Re-run elevated installer:
- Restart Envloom
Installation Failures
- Firewall blocking downloads
- Insufficient disk space
- Corrupted download (retry install)
Version Switch Not Working
If Node version doesn’t change afternvm use:
- Check symlink exists:
- Verify PATH includes symlink directory
- Restart terminal/IDE to refresh environment
- Run
loom reloadto refresh services
Permission Errors
NVM requires elevated permissions for initial setup:Update Checking
Envloom does NOT automatically check for Node.js updates. Use NVM directly:Best Practices
Version Selection
Use LTS for Production
Use LTS for Production
Always use LTS (Long Term Support) versions for production sites:
- Node 22 (LTS Active until 2027)
- Node 20 (LTS until 2026)
- Node 18 (LTS until 2025)
Test on Current for Features
Test on Current for Features
Use current release (Node 25+) for testing new features, but don’t deploy to production.
Match Production Environment
Match Production Environment
Install the same Node version locally that you use in production to avoid compatibility issues.