browserquest / BrowserQuest

Continuing the development of Mozilla BrowserQuest
http://browserquest.herokuapp.com
Other
445 stars 219 forks source link

Install on Windows :question: #187

Open curtisbryant opened 9 years ago

curtisbryant commented 9 years ago

The readme.md file offers commands and detailed instructions for installing on Ubuntu and OSX, and I wonder if there are more detailed instructions somewhere for installing on Windows.

I've unzipped the repo but don't see what to do next. I do have Node.js and Redis in place on the server.

deanrather commented 9 years ago

I'm looking into this at the moment myself, it seems a lot of libraries and features of BrowserQuest simply don't work on Windows.

I'm running a Windows 8.1 Host machine, and using Vagrant VM to host an Ubuntu 14.04 Guest machine.

Simply having the Source Code in a mount which is actually a Windows Shared Folder means that you can't symlink into the code, which means that anything which uses symlnks (several of the dependencies) fail.

You can install them using the npm install --no-bin-links arg, but some still fail.

I've managed to get it working with a combination of --no-bin-links and installing some dependencies with -g (so they're outside the repo), but the actual application itself fails as it requires symlinks to read it's own internal files.

I'm considering making a fork which restructures some of the code to not require symlinks any more. I'll update with a PR if I manage to achieve this.

Otherwise, I'd recommend running a Vagrant share, and using some other means of syncing the code (i.e. rsync) so that the symlinks can go ahead and windows is no longer a factor.

curtisbryant commented 9 years ago

Thank you very much for testing it on Windows! I didn't know about the symlinks. Are you recommending installing Ubuntu inside Vagrant and syncing the source files between Windows and Ubuntu as the code is updated in the GitHub repo? Is that what you mean by "syncing the code?" Or does something else have to be synced?

deanrather commented 9 years ago

That's what I mean, and that's how Vagrant works by default, but the problem is that symlinks don't work the default way. You'd need to sync the content via a different way. (I guess).

The Basic Usage way doesn't let you symlink into the share.

I imagine the Rsync solution would work fine, but then you've only got a 1-way sync. Might be fine depending on your development workflow.

I haven't tried anything other than the Basic usage yet though.