orbitdb-archive / orbit

A distributed, serverless, peer-to-peer chat application on IPFS
MIT License
1.64k stars 116 forks source link

Make Orbit work on Windows #159

Open haadcode opened 8 years ago

haadcode commented 8 years ago

Orbit (Electron app) should run on Windows.

Ref #158 Ref #144

theobat commented 7 years ago

I'd like to try to do something to get orbit on windows. People I'd like to use orbit with use windows. But perhaps we should wait for #192 to complete before I dive into this... I'm not sure what the shell files are doing right now and whether the go-ipfs dist in orbit is working for windows or not. I'll try to get a better understanding.

haadcode commented 7 years ago

@theobat you could give it a try and try to run it on windows from master. In theory it should work but I've never tested it.

theobat commented 7 years ago

I tried a few weeks ago, only problem was the shell scripts are not executable on traditional windows machines: https://github.com/haadcode/orbit/tree/master/scripts

Perhaps we could try to translate these in node scripts ?

haadcode commented 7 years ago

The shell scripts are not run anymore (need to remove from the repo). I updated everything today including possible working version for Windows.

theobat commented 7 years ago

so first of all we get this :

npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "electron"
npm ERR! node v6.9.1
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE
npm ERR! orbit@3.2.0 electron: `LOG=debug IPFS_FD_MAX=4096 $(npm bin)/electron .`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the orbit@3.2.0 electron script 'LOG=debug IPFS_FD_MAX=4096 $(npm bin)/electron .'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the orbit package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     LOG=debug IPFS_FD_MAX=4096 $(npm bin)/electron .

Which is minor cause removing the log= and the ipfs option solve the problem. But then, we get a slightly different issue that I remember having solved, when we try to connect with a username I get this error:

ENOENT: no such file or directory, open C:\Users\_USERNAME_\AppData\Roaming\orbit\config

I'm pretty sure I was creating the directory if it did not exist you think it's not the app's responsibility to do such thing ?

After creating the dir, next error is a right issue on node_module which is probably how I handled install... Will investigate more later

haadcode commented 7 years ago

Thanks for the investigations. It seems env variables indeed are a problem in Windows :/ Need to find a good solution for that.

Re. the directory, IPFS should create the data directory by itself. I might've touched the orbit data dir creation code as I figured it's not needed, but perhaps it is after all. If I did, feel free to put it back in, it was removed shortsightedly.

theobat commented 7 years ago

Just as a follow up I managed to make it "work" without the env variable and with a hand created directory, but I didn't seem to get any peer.. Will try to investigate later.