As a web developer by day, Microsoft’s ambitious goal of bringing Linux to Windows and run natively inside Windows 10 is probably one of the best features I’ve looked forward to since inception. Windows Subsystem for Linux (WSL) or Bash on Windows is the name in Windows 10 that enables you to run native Linux command-line tools directly on Windows, alongside your traditional Windows desktop and modern store apps.
Who is this for?
This is primarily a tool for developers — especially web developers and those who work on or with open source projects. This allows those who want/need to use Bash, common Linux tools (
sed
,awk
, etc.) and many Linux-first tools (Ruby, Python, etc.) to use their toolchain on Windows.
If you are one of those early adopters who have tried WSL last year from the anniversary update, you might be disappointed on the limited commands it can run. Well, it’s time to put that in the rear mirror. With the Creators Update, Microsoft has beefed up WSL to a very usable state. However, that doesn’t mean that everything you can do in Linux works flawlessly on Windows. This is the purpose of this article to point you to resources on what works what doesn’t before you get your hands dirty in Windows 10’s WSL only found out it doesn’t work with what you want it to do.
This is the purpose of this article to point you to resources on what works what doesn’t before you get your hands dirty in Windows 10’s WSL but only found out it doesn’t work the way you want it to do.
Similar to the idea behind https://caniuse.com/ for checking what HTML/CSS API a given browser supports, there is a chat for Windows Subsystem for Linux on some of the common tool-chains whether it works with WLS and on which edition of Windows 10.
If you are running Windows version 1703, it means you are receiving almost all Insider (Fast) column’s feature. That’s the latest Creators Update Microsoft has rolled out this past April.
As you can see, it’s quite a lot change since the first time Microsoft rolled out WSL. You can pretty much do work with Ruby on Rails, Node.js all seamlessly within WLS in Windows 10 natively. If you plan to do development work take advantage of the WSL instead of a Linux VM. It’s best to check the type of work’s dependencies works with the current WSL. There are few resources you can check, head to user voice page on WSL to check if your technology is on the wishlist. You can also go to Github issues page to check if there are any open bugs reported on what the technologies you are going to use.
Update: if the above table doesn’t help with your confidence in trying the WSL, Microsoft published a blog post on how deep it goes to test its creation. You can find a detailed blog post on how they are testing and the pass rate for a given web technology you might be using.
Test Name | Version | WSL Failing Tests | WSL Pass % | Native | Native Pass % | Total Tests | Notes |
Nginx | Nginx 1.4.6 | 0 | 100.00% | 0 | 100.00% | 99 | |
Django | 1.10x(master) | 4 | 99.97% | 4 | 99.97% | 11776 | |
Flask | 0.11(master) | 1 | 99.69% | 1 | 99.69% | 327 | |
PIP (python 2.7) | Master | 3 | 99.57% | 3 | 99.57% | 700 | 11 skipped on both |
Grunt | Master | 0 | 100.00% | 0 | 100.00% | 390 | |
Gulp | Master | 0 | 100.00% | 0 | 100.00% | 31 | |
Express.js | 4.x(master) | 0 | 100.00% | 0 | 100.00% | 799 | |
Bower | V1.8(master) | 0 | 100.00% | 0 | 100.00% | 539 | 17 skipped on both |
Json-server | Master | 0 | 100.00% | 0 | 100.00% | 77 | |
Coffescript | Master | 0 | 100.00% | 1 | 99.88% | 822 | |
Ember.js | Master | 0 | 100.00% | 0 | 100.00% | 20642 | |
Typescript | Master | 0 | 100.00% | 0 | 100.00% | 52976 | |
NVM | Master | 1 | 99.01% | 1 | 99.01% | 101 | |
Phantom.js | Master | 12 | 94.50% | 12 | 94.50% | 218 | |
Rails | Rails 5.0.0.1 | 0 | 100.00% | 2 | 99.99% | 14056 | |
Rake | Master | 0 | 100.00% | 0 | 100.00% | 573 | 1 skipped on WSL |
RVM | V1.27.0 | 37 | 93.03% | 37 | 93.03% | 531 | |
Sinatra | Master | 0 | 100.00% | 0 | 100.00% | 2365 | |
Sinatra | Stable | 0 | 100.00% | 0 | 100.00% | 2354 | |
JUNIT | Master | 0 | 100.00% | 0 | 100.00% | 985 | 4 skipped on both |
MAVEN | Master | 0 | 100.00% | 0 | 100.00% | 494 | |
STRUTS | Master | 0 | 100.00% | 0 | 100.00% | 317 | |
R | R-3.3.2 | 0 | 100.00% | 0 | 100.00% | 1088 | |
PostgreSQL | postgresql-9.5.3 | 0 | 100.00% | 0 | 100.00% | 157 | |
Cassandra | Master | 0 | 100.00% | 12 | 96.20% | 316 |
WSL won’t provide a true problem free Linux environment, you might hit odd problems here and there, but the community is growing and help from Microsoft is just around the corner for the next major update. If something you need doesn’t work right now, come back in a few month time and you might find things have changed.