
You may have to restart your computer multiple times, and in some cases, depending on the hardware your machine has, this might take some time. We also found that watching starting at 8:24 of WSL2: Code faster on the Windows Subsystem for Linux! | Tabs vs Spaces video gives some additional context around how to enable WSL via graphical user interface (GUI) instead of via command line (or PowerShell).

“ Windows Subsystem for Linux Installation Guide for Windows 10” is a comprehensive article because it both lives up to the title, as well as provides troubleshooting tips. TLDR Windows does a really good job of walking you through the instructions of how to install WSL 2 to your machine. Using WSL 2 to Setup Your Ethereum Developer Environment Step 1: Downloading WSL 2

You can jump into the tutorial below, or skip ahead to a short history on why Linux and MacOS users traditionally had an easier path to developer tooling in Ethereum. I want Ethereum to be accessible to everyone, and wanted to share what I believe is currently the easiest way for developers who use Windows to set up their development environment so they can follow along with the majority of articles published on developing smart contracts. Our ecosystem has many helpful articles and tutorials out there, but people create them assuming the user has Linux or MacOS installed. This article will share with you some idiosyncrasies we encountered in using WSL 2 to set up your Ethereum developer environment (like what you have to do in order to utilize truffle commands). I felt it was past time to provide greater focus on how to use WSL 2 to provide Windows users a Linux-like developer experience while using the Ethereum tooling that we recommend. The launch of WSL 2 coincided with questions from our current cohort of Bootcamp students about whether they could use WSL 2 instead of downloading a Virtual Box. We had been monitoring the development of Windows Subsystem for Linux (WSL). Windows users are often frustrated, as they were not able to use the development tools following the instructions we recommend on their native OS, and if they wanted to run everything on Windows they had to follow along with a set of instructions parallel to those for Linux and MacOS users. Almost always, Mac users will proceed without downloading Ubuntu, due to MacOS being a Unix-based system.

In practice, we have worked with students to deal with issues related to the available memory on their machine in order to make this work.

No matter their native operating system (OS), everyone would have Ubuntu and be able to run the same software. Our goal is that every student can have a consistent user experience when setting up their local development environment. At ConsenSys Academy, we asked everyone in the Developer Program to download a Virtual Box and Ubuntu at the start.
