{"action":"created","issue":{"url":"https://api.github.com/repos/nodejs/node-gyp/issues/629","labels_url":"https://api.github.com/repos/nodejs/node-gyp/issues/629/labels{/name}","comments_url":"https://api.github.com/repos/nodejs/node-gyp/issues/629/comments","events_url":"https://api.github.com/repos/nodejs/node-gyp/issues/629/events","html_url":"https://github.com/nodejs/node-gyp/issues/629","id":79269678,"number":629,"title":"Windows users are not happy.","user":{"login":"luisrudge","id":941075,"avatar_url":"https://avatars.githubusercontent.com/u/941075?v=3","gravatar_id":"","url":"https://api.github.com/users/luisrudge","html_url":"https://github.com/luisrudge","followers_url":"https://api.github.com/users/luisrudge/followers","following_url":"https://api.github.com/users/luisrudge/following{/other_user}","gists_url":"https://api.github.com/users/luisrudge/gists{/gist_id}","starred_url":"https://api.github.com/users/luisrudge/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/luisrudge/subscriptions","organizations_url":"https://api.github.com/users/luisrudge/orgs","repos_url":"https://api.github.com/users/luisrudge/repos","events_url":"https://api.github.com/users/luisrudge/events{/privacy}","received_events_url":"https://api.github.com/users/luisrudge/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/nodejs/node-gyp/labels/Windows","name":"Windows","color":"d7e102"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":303,"created_at":"2015-05-22T03:53:40Z","updated_at":"2015-11-26T20:42:44Z","closed_at":null,"body":"It all started with [this conversation](https://twitter.com/luisrudge/status/601570367048654848). \r\n\r\nAs I said, I'm pretty much a newbie and I don't even know what node-gyp does, but what I **DO** know is that it's a pain to run Windows and install a project with node-gyp as a dependency.\r\nSome numbers: \r\n\r\n* [403 questions on stackoverflow (node-gyp windows)](http://stackoverflow.com/search?q=node-gyp+windows)\r\n* [224 issues mentioning \"windows\"](https://github.com/TooTallNate/node-gyp/issues?utf8=%E2%9C%93&q=windows)\r\n\r\nIt's bizarre that a nodejs developer needs to install visual studio (even the express edition) in order to be able to work on Windows. Even more bizarre is that I, as a .NET developer with full visual studio installed in my machine still can't download a bunch of projects that use this project.\r\n\r\nWith that being said, I'd like to know from all of you what should we do to make windows users fall in the pit of success? What are the alternatives? Does Microsoft can solve this in any way?\r\n\r\n# This issue is fixed (kinda)\r\n### @mousetraps [pointed](https://github.com/nodejs/node-gyp/issues/629#issuecomment-153196245) that Microsoft is shipping the C++ build tools separately now. Check [here](https://github.com/nodejs/node-gyp/issues/629#issuecomment-153196245)\r\n\r\n# Some updates on this gigantic thread\r\n\r\n## Absolutely non-official statement that @Microsoft is aware of this issue and seeing what can be done\r\n### @mousetraps [said](https://github.com/nodejs/node-gyp/issues/629#issuecomment-144197915) that this thread \"is high on people's radar\" at @Microsoft\r\n\r\n## Very good Q&A about noge-gyp issues on Windows and why they happen\r\n### @dekarguy took the time to [answer](https://github.com/nodejs/node-gyp/issues/629#issuecomment-151018292) some questions about what we all are going through"},"comment":{"url":"https://api.github.com/repos/nodejs/node-gyp/issues/comments/159991612","html_url":"https://github.com/nodejs/node-gyp/issues/629#issuecomment-159991612","issue_url":"https://api.github.com/repos/nodejs/node-gyp/issues/629","id":159991612,"user":{"login":"dukedougal","id":691840,"avatar_url":"https://avatars.githubusercontent.com/u/691840?v=3","gravatar_id":"","url":"https://api.github.com/users/dukedougal","html_url":"https://github.com/dukedougal","followers_url":"https://api.github.com/users/dukedougal/followers","following_url":"https://api.github.com/users/dukedougal/following{/other_user}","gists_url":"https://api.github.com/users/dukedougal/gists{/gist_id}","starred_url":"https://api.github.com/users/dukedougal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dukedougal/subscriptions","organizations_url":"https://api.github.com/users/dukedougal/orgs","repos_url":"https://api.github.com/users/dukedougal/repos","events_url":"https://api.github.com/users/dukedougal/events{/privacy}","received_events_url":"https://api.github.com/users/dukedougal/received_events","type":"User","site_admin":false},"created_at":"2015-11-26T20:42:44Z","updated_at":"2015-11-26T20:42:44Z","body":"I'm not sure if this belongs in this thread but its certainly Windows related.\r\n\r\nThis seems a huge problem - npm scripts everywhere set environment variables before running commands and this breaks on Windows of course because this command format is not valid.\r\n\r\nNow that I understand the problem I am coming to realise that on Windows this breaks vast amounts of node and npm packages and in order to make just about anything work I will need to be constantly digging in to packaging source code to make things work. I wonder if anything can be done?\r\n\r\n\r\n\"scripts\": {\r\n    \"test\": \"NODE_ENV=test mocha --compilers js:babel/register --recursive --require ./test/setup.js $(find test -name '*.spec.js')\",\r\n    \"test-watch\": \"npm test -- --watch\",\r\n    \"test-e2e:crdv\": \"chromedriver\",\r\n    \"test-e2e\": \"NODE_ENV=test mocha --compilers js:babel/register --require ./test/setup.js --require co-mocha ./test/e2e.js\",\r\n    \"lint\": \"eslint .\",\r\n    \"hot-server\": \"node server.js\",\r\n    \"build\": \"NODE_ENV=production webpack --config webpack.config.production.js --progress --profile --colors\",\r\n    \"start\": \"electron .\",\r\n    \"start-hot\": \"HOT=1 NODE_ENV=development electron .\",\r\n    \"package\": \"NODE_ENV=production node package.js\",\r\n    \"package-all\": \"npm run package -- --all\"\r\n  },\r\n\r\n"}}