Can I Develop on Windows Subsystem For Linux aka Bash On Windows?

0

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 (sedawk, 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 NameVersionWSL Failing TestsWSL Pass %NativeNative Pass %Total TestsNotes
NginxNginx 1.4.60100.00%0100.00%99
Django1.10x(master)499.97%499.97%11776
Flask0.11(master)199.69%199.69%327
PIP (python 2.7)Master399.57%399.57%70011 skipped on both
GruntMaster0100.00%0100.00%390
GulpMaster0100.00%0100.00%31
Express.js4.x(master)0100.00%0100.00%799
BowerV1.8(master)0100.00%0100.00%53917 skipped on both
Json-serverMaster0100.00%0100.00%77
CoffescriptMaster0100.00%199.88%822
Ember.jsMaster0100.00%0100.00%20642
TypescriptMaster0100.00%0100.00%52976
NVMMaster199.01%199.01%101
Phantom.jsMaster1294.50%1294.50%218
RailsRails 5.0.0.10100.00%299.99%14056
RakeMaster0100.00%0100.00%5731 skipped on WSL
RVMV1.27.03793.03%3793.03%531
SinatraMaster0100.00%0100.00%2365
SinatraStable0100.00%0100.00%2354
JUNITMaster0100.00%0100.00%9854 skipped on both
MAVENMaster0100.00%0100.00%494
STRUTSMaster0100.00%0100.00%317
RR-3.3.20100.00%0100.00%1088
PostgreSQLpostgresql-9.5.30100.00%0100.00%157
CassandraMaster0100.00%1296.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.

LEAVE A REPLY

Please enter your comment!
Please enter your name here