Or is Windows 10 a viable alternative for Node devs?
Or is Windows 10 a viable alternative for Node devs?
I really don't understand why people keep saying this, it's simply not true. Node works fantastically on Windows. I've yet to come across a library that won't work on my Windows box (barring obviously platform specific stuff). Node-gyp works fine too, and many libraries with native code offer Windows versions.
Especially when comparing to e.g. Ruby or Python, it's a world of difference. With Ruby you can't even use bundler on Windows and then deploy on Linux.
It seems all the basic fundamental design choices of Node and NPM were made with portability in mind. I'm frankly quite impressed.
Source: been running teams doing frontend and node for almost 3 years now, every team had at least one Win dev and at least one OSX dev, every team deployed to Linux. 0 problems, ever.
I beg to differ
1. npm install gulp
2. try to delete the node_modules folder
3. waste time fighting windows' legacy stuff (260 max path length in almost everything: explorer, cmd, git bash, etc.)
4. come across rimraf eventually
I wouldn't describe that flow as "fantastically" unless you mean "fantastically broken".
Microsoft is waking up to the fact that developers mostly aren't using microsoft dev tools anymore. Hence, docker on windows, ubuntu on windows, redesigned env vars dialog, no more path length limit, nicer command prompt, etc...
I wonder what went wrong in your case.
I do remember having trouble committing a node_modules to git because of the same MAX_PATH bullshit, but then we realized that you're not really supposed to do that anyway.
More generally, by the way, NPM 3 fixed the MAX_PATH problem for the majority of cases, when they moved away from super deeply nested file trees.
It's just that over time I fond it more and more of a -useless - hassle to keep a VM with Linux on my desktop, and pure Linux desktop never was a question (for various reasons).
When I install git for windows and ConEmu64 I have a good terminal and a bash and the basic Unix command line tools. The IDE and node.js are the same anyway. I configure the IDE and git so that my projects only have one type of line endings (Unix).
I have zero Windows server experience since that is all Unix for me, but on the (developer) desktop I don't feel any need for Unix.
I don't have any problems. I have sometimes found bugs introduced into a library that only affects one platform but not the others. This has happened on things like grunt-plugins rather than more critical libraries. It hasn't caused any drama other than delaying updating a dependency until its fixed.
> 42% of @nodejs users use Windows as their desktop env. More than any single *nix.
Once the next Windows 10 update makes bash available to everyone, though, that'll become a non-issue.
In this case, however, it nicely integrates into our existing windows infrastructure.
I haven't found any reason to recommend against deploying node on windows. To this point it has just worked.
So there's "enough" Windows users doing JS on Windows.
Heck. Support/doc/headway aside, I strongly feel it was one of the big factors that pushed TypeScript beyond the critical mass. You just can't make a JS dev tool *nix only and expect critical adoption.
Atom editor had the same issue.
http://stackoverflow.com/questions/34906807/error-building-n...
Upgrading bcrypt didn't work for me.... I ended up installing Linux on a VM and developing inside the VM because that's the only way bcrypt would install.
Of course, I can usually get it to work some how, but I don't have these issues on Linux. Basically node works "good enough" on Windows, especially if you don't value your time.