mozilla / makedrive

[RETIRED] Webmaker Filesystem
Mozilla Public License 2.0
351 stars 33 forks source link

npm install fails on windows #457

Closed k88hudson closed 9 years ago

k88hudson commented 9 years ago

I'm getting the following error on a few packages when installing webmaker-app, all related to makedrive -- should python be a required dependency? Am I doing something wrong?

Seems to be related to node-gyp

image

Related issue filed here https://github.com/mscdex/node-mariasql/issues/82

k88hudson commented 9 years ago

@fpanico are you seeing the same error?

thisandagain commented 9 years ago

The mariadb dependency aside, this raises the issue of native dependencies for the makedrive server being bundled along side the client. Something to talk about as a group when we are all together as it relates to modularity / composability.

cc @brianloveswords @humphd @alicoding

ScottDowne commented 9 years ago

New login.webmaker.org has this too, it was coming from bcrypt, which also had node-gyp, I think...

I also needed to get visual studio to make it work.

humphd commented 9 years ago

The real error above is that Python isn't installed, or at least isn't found via the env's current path. What happens if you have python installed, and the PYTHON variable set to the executable path for Python as discussed in the error message?

alicoding commented 9 years ago

@humphd I'm going to try and reproduce this or coordinate with @k88hudson to see if this is actually a problem with Python not being installed only, but as I've discussed with you last week @humphd that if this is part of OptionalDep it shouldn't failed entirely. I'm going to confirm.

brianloveswords commented 9 years ago

@ScottDowne note on bcrypt: we can use https://www.npmjs.org/package/bcryptjs and not require native deps.

brianloveswords commented 9 years ago

In general, I'm a big fan of avoiding native dependencies wherever possible. Increases portability, decreases build/deploy time and enables easier browserification.

humphd commented 9 years ago

For the MakeDrive case, splitting off the server from the client into separate repos/modules will also solve this--we have zero native deps for the client code, just some optimizations for the server.

alicoding commented 9 years ago

It seems like this only failed on the optionalDep and the rest did install correctly. I've tested this on Windows 10, so I'm closing this since in the future this will totally be fixed by separating our client from server.

Pomax commented 9 years ago

windows 10!