Skip to content
Running NVM on a Dev Drive with an ARM Device
Albert-Jan Schot
Albert-Jan Schot

· 2 min read

Post

Running NVM on a Dev Drive with an ARM Device

There’s nothing quite like the feel of a new device 🚀. I recently got myself a Surface Laptop, and it’s been a great experience so far. It’s fast, lightweight, and the battery life easily holds out through the day. Naturally, I wanted to get my dev setup just right, including a clean Dev Drive configuration from the get-go.

First stop: Dev Drive. If you haven’t set this up before, I highly recommend it. It’s optimized for performance, and the process went smoothly. I have been playing with it before, but finally made the switch for everything I still develop on this device. Once I had the volume ready, I started pointing key developer folders to it, including the global npm cache.

Installing NVM was next. I reached for winget install -e --id CoreyButler.NVMforWindows. But there I got stuck. The installation went fine, however you have no control over where it installs. Since I just had setup the dev drive, I wanted to make sure everything was on there. I removed it and reinstalled manually to ensure it lived on the Dev Drive.

From there, setting up the npm cache was straightforward. If you’re doing this yourself, just run:

setx /M npm_config_cache D:\packages\npm

NVM on an ARM device

I figured I was done, but got stuck a few days later. My default nvm install lts and nvm use lts steps didn’t work as expected. The root cause? This Surface Laptop is ARM-based, and using the normal flags, the NVM installation did not recognize my ARM architecture.

To fix it, I reinstalled using the correct architecture:

nvm install lts arm64
nvm use lts arm64

From there, everything worked as expected. It’s a small adjustment, but one that can easily be overlooked, and it took me a few hours before figuring out why my npm i commands where causing me grief on repo’s that where working fine just a few days ago. So if you’re on an ARM device, make sure to specify the correct architecture in your NVM commands, or you’ll spend unnecessary time troubleshooting.

Albert-Jan Schot

Albert-Jan Schot

CTO, Microsoft MVP & FastTrack Recognized Solution Architect

I am Albert-Jan Schot, CTO at Blis Digital, Microsoft MVP, and FastTrack Recognized Solution Architect focused on Microsoft 365, Azure, and AI agents. I help teams turn complex Microsoft Cloud challenges into practical architecture decisions and shipped outcomes.

Copilot Studio Microsoft 365 Agent Flows

Zuid Holland, Netherlands

Related Posts