Why do Windows users keep suffering?

Just a brief (and slightly opinionated) post here, as I was thinking about it this morning:

First off, I have to say that I think “OS Wars” are silly. Use the OS/tools that work best for you. However, I’ve noticed consistently that unless you’re doing .NET, Windows is really subpar for web development, and it’s not that the OS is incapable on any level, but just that most of the tools/frameworks built for web devs are Linux/Mac based.

My question to Windows users: why wouldn’t you just use Vagrant with Meteor and save all the headaches? If I were on Windows, I’d never even bother with any frameworks, task-runners, or packaging tools natively. It would be Vagrant for me 100%.

So I’m genuinely wondering: is it that people don’t know about Vagrant? Is it a lack of Linux experience that puts people off?

Vagrant is annoying to use with Meteor due to some sym-linking issues you run into. If I remember correctly something in the ./meteor folder is symlinking somewhere else which is a big “don’t do that” when you use shared folders in a VM - the filesystem used for sharing does not support symlinks.

You can work around that but it’s a pain in the ass.

One of the things that made Windows support in Meteor annoying to build!

Symlinks in Windows do exist and work just fine. It’s the folder on the Linux side which creates the problem with Vagrant.

You needed to be an admin to create them, last time I checked.

An installer usually has such rights.

The Windows installer for Meteor intentionally doesn’t require admin rights! Most programs on Windows these days don’t require admin access to install.

Erm. That’s a bit of a catch-22 right there.

In any case, running your JavaScript code in admin mode exposes you to all kinds of issues, it’s like running npm as sudo on Mac/Linux, which is basically something you never want to do.

I’m not talking about sudo npm

I’m talking about sudo make install.

The latter is a relatively common occurence on Linux.

Initially I had asked for a Linux box for a Meteor project I’m working on. I use Vagrant and other VMs w/Meteor, but that’s not the issue. The problem is maintenance and support.

The CTO gave us a Windows server requirement based on our IT department’s expertise. They have to support it. They’re familiar w/Windows Server & IIS and would have to hire a Linux IT person (which may be in the future) for what’s initially a small project.

The experience has not been pretty. We run Space Kitty which means a higher version of node which means meteor build won’t run. Using psexec, I’m doing builds on a dev server vm and robocopying it from there by batch file.

The Windows 10 Anniversary Update announced today may mean that in the not-too distant future, the Windows version of meteor could go away entirely.

TL;DR: Unless you want that 3am call when your VM tanks, Windows users (& their IT) know Windows; if you want a corporate blessing, you have to go w/what’s known (and supported).

3 Likes

@ffxsam
I was unaware of vagrant. This 1.3 release on windows has been a major headache. I gave vagrant a try and keep running symlink issues.

@areich Why would the windows 10 update be the end of meteor windows?

Because you would be able to run the Linux version natively in Windows.

4 Likes

That does not make your symlink issues go away magically, though.

@sashko thanks I just read that, very cool!

@ffxsam I just got vagrant working! I’m back to using meteor. thanks a ton.

1 Like

That’s awesome, I’m glad this post wound up helping someone!

going to be super awesome if it can also use the android build toolchain also.

I use Windows with WebStorm, Meteor 1.3, React etc and it all seems fine to me. I do use git bash for the more complex git stuff, but apart from that I don’t really hit any roadblocks with Windows at present. Maybe I will once we move onto the devops stuff, but hopefully Galaxy will mean we don’t need to worry about that either.

here is what got me setup correctly: http://stackoverflow.com/questions/25712468/cant-create-working-meteor-js-project-on-a-vagrant-box

@tomRedox I had a lot of issues with 1.3 on windows, finally got it sorted this morning. Glad it worked out of the box for you.

I’m Meteor 1.3 there is a secret Easter egg - you can actually run android builds on Windows already. Once we fix some other Windows bugs, that is. But that mobile build functionality is not that well tested so we didn’t announce it.

2 Likes