Today I saw a twitter thread from DHH, which reminded me that even great developers struggle once in a while 👇
No, it's not that he bought a new Surface Laptop 3. It's that he was having trouble running Ruby on Rails on Windows 10 👇
🤔, he is human after all!.
Interestingly enough I saw a lot of people from Microsoft jump in the thread and try to help 👇
👏 Props to Rich Turner for providing some very useful tips 👏
Scott Hanselman shared a pretty good blog post about running RoR on Windows using WSL2. Which is fabulous!, but I would need to reformat my laptop, get on the windows insider (beta) fast ring, then enable WSL2.
Which as tempting as it may sound, I'm sure a lot of people don't want to commit their main laptop to a windows beta build.
Can you get this working right now, on your current Win10 install? Absolutely. I'll guide you through the process 👇
What are we going to use?
- Win 10 | Version 1903 (Build 18362.449)
- WSL 1
- Visual Studio Code + Remote Developer Extensions
Step #1 - 👀 Make sure Win 10 is updated
Go to the search bar and type
winver
If you are running a version older than Version 1903 (Build 18362.449), go ahead and take the time to update windows, it will save you a lot of headaches 🧠.
Step #2 - 🔨 Install WSL1 + Ruby
Head over to the Microsoft Store and install your favorite version of Linux, In my case I'll use Ubuntu.
Once installed, just run the terminal and it will ask you to setup a username and pass 👇
- ⚠ Disclaimer #1: For the sake of brevity I'll take some shortcuts installing Ruby on Ubuntu, I do recommend installing RVM or rbenv and following proper protocol.*
First I'll install some prerequisites so I don't run into issues later on, just run the following commands 👇
sudo apt-get install software-properties-common
sudo apt-get install -y nodejs
sudo apt-get install gcc g++ make
sudo apt-get install libxml2-dev
sudo apt-get install libsqlite3-dev
sudo apt-get install yarn
Next, I'll just go ahead and install Ruby, you can use RVM or rbenv, but I'll keep it simple for this post 👇
After a few minutes you should have Ruby installed 👏. Now we'll install Rails to get an app running 👇
🎈🎊👏
Step #3 - 💻 Let's get VSCode running 🔥
Basically we are going to use VsCode to access the file system in WSL and make changes to our app.
- ⚠ Disclaimer #2: WSL1 and WSL2 are very different beasts. Follow the official Microsoft recommendations on where exactly to place your files. For now, I'm just trying to make the point of working in Windows while accessing the Ubuntu file system in WSL.*
So now, head over to VSCode and install the fabulous Remote Development Pack, this will enable you to open up the WSL filesystem and access the app you just created 👇
Top comments (4)
Thank you for sharing DHH's tweet. It's really good to see that our "dev heroes" are struggling with the same things as we do. And concerning Microsoft - looks like the days of "cancerous Linux" are long gone now. I really like the new Microsoft.
Yeap, they too get stuck, google, hang out on stackoverflow.
WSL is one of the most useful features for developers (and non-developers!) included on Windows 10.
I've been using the new Windows Terminal for this purpose too, but actually to run a Hanami server :P It also supports Jekyll pretty nice and other server-side tools and frameworks that you usually see on Linux or Mac. So, welcome back to the developers environment, Windows.
Did you have issues setting up the database? SQLite isn't an issue, but I've tried to get both MySQL and Postgres working to no avail.