DEV Community

Cover image for Setting Up Your Windows Dev Environment for Node.js & Express (The Right Way)
Bello Osagie
Bello Osagie

Posted on

Setting Up Your Windows Dev Environment for Node.js & Express (The Right Way)

This is Part 2 of my Express.js Series — setting up a solid foundation before we start writing any backend code.

Whether you're just diving into backend development or setting up a fresh environment, this guide walks you through a clean, scalable Windows development setup tailored for Node.js and Express.js.


Why the Setup Matters

Before jumping into building APIs, it's important to make sure your environment is consistent, efficient, and manageable. A cluttered or misconfigured system can lead to debugging nightmares.

Instead of manually downloading everything, we'll use Chocolatey, NVM for Windows, and curated VS Code extensions to streamline and future-proof your setup.


What We’re Setting Up

By the end of this setup, you’ll have:

  • Chocolatey managing your dev tools
  • Node.js versions managed cleanly via NVM
  • A curated VS Code setup with powerful extensions
  • MongoDB tools and CLI
  • Git, Postman, a modern browser, and more

Two Ways to Install Software on Windows

Just like macOS, there are two main methods:

  1. Manual Downloads from Websites
    (e.g., download VS Code installer from the official site)

  2. Command-line Installs with Chocolatey (Recommended)
    Automate and simplify your entire setup with repeatable scripts

💡 For devs, I strongly recommend using Chocolatey. It's the Homebrew of Windows.


Installing Chocolatey

Run PowerShell as Administrator and paste this one-liner:

Set-ExecutionPolicy Bypass -Scope Process -Force; `
[System.Net.ServicePointManager]::SecurityProtocol = `
[System.Net.ServicePointManager]::SecurityProtocol -bor 3072; `
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
Enter fullscreen mode Exit fullscreen mode

Confirm it’s working:

choco --version
Enter fullscreen mode Exit fullscreen mode

Installing Tools with Chocolatey

Create a script file or run each command manually in Admin PowerShell:

choco install git -y
choco install vscode -y
choco install postman -y
choco install googlechrome -y
choco install arc-browser -y
choco install warp-terminal -y
choco install mongodb-compass -y
choco install mongodb-database-tools -y
choco install gh -y
choco install bun -y
choco install nvm -y
Enter fullscreen mode Exit fullscreen mode

Some packages may need Chocolatey community extensions enabled. If prompted, just follow instructions or run:

choco feature enable -n allowGlobalConfirmation
Enter fullscreen mode Exit fullscreen mode

In the tutorial, a file named choco-packages.config was created in the express-app project directory, located at C:\Users\YourUserName\Documents\express-app\config.

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="git" />
  <package id="gh" />
  <package id="bun" />
  <package id="nvm" />
  <package id="mongodb.install" />
  <package id="mongodb-compass" />
  <package id="mongodb-atlas" />
  <package id="postman" />
  <package id="vscode" />
</packages>
Enter fullscreen mode Exit fullscreen mode

Install all packages with the command:

choco install C:\Users\YourUserName\Documents\express-app\config\choco-packages.config\choco-packages.config
Enter fullscreen mode Exit fullscreen mode

Managing Node the Right Way: Use NVM

Why not use the global Node installer?

Global installs can lead to version conflicts, especially when tools like MongoDB CLI bring their own Node dependencies.

NVM for Windows is better.

NVM lets you manage multiple Node.js versions side by side and switch between them effortlessly.


Steps to Use NVM (After Chocolatey Installs It)

Open Command Prompt (not PowerShell) and run:

nvm install 20.12.2
nvm use 20.12.2
nvm list
Enter fullscreen mode Exit fullscreen mode

Switch versions:

nvm install 18.17.0
nvm use 18.17.0
Enter fullscreen mode Exit fullscreen mode

Remove a version:

nvm uninstall 18.17.0
Enter fullscreen mode Exit fullscreen mode

Confirm you're using the right version:

node -v
npm -v
Enter fullscreen mode Exit fullscreen mode

VS Code Extensions to Install

Open VS Code and install these from the Extensions Marketplace:

  • esbenp.prettier-vscode – Prettier code formatter
  • mongodb.mongodb-vscode – MongoDB integration
  • Postman.postman-for-vscode – Postman in VS Code
  • yzhang.markdown-all-in-one – Markdown tools
  • PKief.material-icon-theme – Better file icons
  • GitHub.github-vscode-theme – GitHub's official theme
  • biomejs.biome – All-in-one linting/formatting
  • bengreenier.vscode-node-readme – Auto README generator
  • AmazonWebServices.amazon-q-vscode – Amazon Q AI assistant

You can also install them via CLI using:

code --install-extension esbenp.prettier-vscode
code --install-extension mongodb.mongodb-vscode
# ... and so on
Enter fullscreen mode Exit fullscreen mode

Recap: Tools We Installed

Tool Purpose
VS Code Code editor
Arc & Chrome Browsers
Git & GitHub CLI Version control
MongoDB tools Database management
Postman API testing
Bun JS runtime alternative
NVM for Windows Node version management
Warp Terminal Modern dev terminal

Watch the Video Tutorial

Prefer to see this step-by-step? I walk through the entire setup process visually in this episode:

Watch on YouTube


What’s Next?

In the next part of the series, we’ll initialize a real Express.js project and start building APIs with proper structure and tooling.

Subscribe so you don’t miss it!


Feedback?

Drop your thoughts, suggestions, or questions in the comments — I’m always happy to help or improve future tutorials!

Top comments (0)