History
I have been developing on Windows since 2005. (I was a C# software engineer for a bit, though ended up mostly doing T-SQL and management).
At the start of my Ethereum journey I was developing POCs using Truffle and OpenZeppelin on Windows 7. (I had a load of legacy tools that I still needed)
In late 2018 I moved to Windows 10 and using WSL.
Windows Native
I tried to create a native Windows development environment this week, but am running into some issues, I might need to start over.
WSL2
This week I also changed to WSL 2.
I am using Ubuntu 18.04
I initialized my distro (instructions: https://docs.microsoft.com/en-au/windows/wsl/initialize-distro)
Using instructions (Thanks David Burela) https://davidburela.wordpress.com/2017/05/12/how-to-install-truffle-testrpc-on-ubuntu-or-windows-10-with-windows-subsystem-for-linux/
Ensure distro up to date
sudo apt update && sudo apt upgrade
I wanted to install nvm but this failed as I had an error saying I needed npm
Then I installed node 10 (instructions: https://github.com/nodesource/distributions/blob/master/README.md#debinstall)
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
Then I could install nvm
Instructions: https://github.com/nvm-sh/nvm#install--update-script
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
Restart the terminal
Install node 10
nvm install 10
nvm alias default 10
nvm use default
Install build-essential and python
sudo apt install build-essential python -y
Finally install ganache-cli (one of the few packages I have globally)
npm i -g ganache-cli
I had been waiting for general availability for WSL2 before migrating from WSL but decided to try it out now.
WSL2 will be available in Windows 10 (version 2004) https://devblogs.microsoft.com/commandline/wsl2-will-be-generally-available-in-windows-10-version-2004/