You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Per today's TC meeting, we're going to rename the binary to iojs and ln -s iojs node on install, provided there isn't already a binary with that name in the target directory.
Symlinks on Windows require elevated privileges and are therefore probably not an option. What to do? I see two options:
Only install iojs, no symlink. Least amount of effort.
Provide a stub node.exe or node.cmd (if that works) that executes iojs.
For reasons @piscisaureus probably understands better than me (I think PATH_EXT is involved?), the stub node.exe (not node.cmd) will give the most seamless experience. That is what Git does as of ~1.8 on Windows, if I recall.
I posted in that other thread, but if this is more on topic, I'll repost it:
NAN requires executing 'node' to find the location of the header. Windows compatibility is the main source of problems when it comes to using multiple alternative names. nodejs/nan#70
-1 on this. io.js looks like it will have some breaking API changes from node.js, which means cross-compatibility of io.js and node.js apps won't always be 100% guaranteed. having a node symlink by default may hold progress back.
Short update: after some discussion, it got clear that it's not really possible to reliably detect if an existing install was done by joyent/node, iojs or a mashup of the two (e.g. an iojs install that got scribbled over by joyent/node.) The tentative conclusion is that we are not going to try and simply trust that the user knows what s/he is doing.
Windows installers and binaries are being uploaded in the nightlies now but npm doesn't work obviously because there is no node so they are hard to test
Activity
domenic commentedon Dec 10, 2014
For reasons @piscisaureus probably understands better than me (I think PATH_EXT is involved?), the stub
node.exe(notnode.cmd) will give the most seamless experience. That is what Git does as of ~1.8 on Windows, if I recall.gkatsev commentedon Dec 10, 2014
Windows, starting with Vista, supports actual symlinks. But one of the other solutions is probably best if windows XP support is needed.
domenic commentedon Dec 10, 2014
@gkatsev without elevated privileges?
gkatsev commentedon Dec 10, 2014
@domenic elevated privileges are needed for writing to privileged areas like
C:/Program Fileset al, but otherwise, doesn't require extra privileges.piscisaureus commentedon Dec 11, 2014
@gkatsev If wish you were right but you are not. On windows creating symlinks always requires elevation.
gkatsev commentedon Dec 11, 2014
Interesting, I was certain it didn't require elevation. I just tried it just to be sure and it does. That really is too bad.
kkoopa commentedon Dec 11, 2014
I posted in that other thread, but if this is more on topic, I'll repost it:
NAN requires executing 'node' to find the location of the header. Windows compatibility is the main source of problems when it comes to using multiple alternative names. nodejs/nan#70
rstacruz commentedon Dec 15, 2014
-1 on this. io.js looks like it will have some breaking API changes from node.js, which means cross-compatibility of io.js and node.js apps won't always be 100% guaranteed. having a
nodesymlink by default may hold progress back.kessler commentedon Dec 21, 2014
@bnoordhuis @domenic @piscisaureus it is quite common for installers to require elevation on windows, why not just do that?
bnoordhuis commentedon Dec 22, 2014
Short update: after some discussion, it got clear that it's not really possible to reliably detect if an existing install was done by joyent/node, iojs or a mashup of the two (e.g. an iojs install that got scribbled over by joyent/node.) The tentative conclusion is that we are not going to try and simply trust that the user knows what s/he is doing.
geek commentedon Jan 9, 2015
Instead of
iojswhy not justio. In this day and age do we really need thejs... Facebook vs The FacebookYurySolovyov commentedon Jan 9, 2015
@geek it was mentioned earlier that
ioalready conflicts with some programming languagesgeek commentedon Jan 9, 2015
For the package name
iojsmakes sense, but for the bin it should just beio.Let those who want to install the io language binary and the iojs binary sort out the conflict.... all 5 of them.
rvagg commentedon Jan 12, 2015
Windows installers and binaries are being uploaded in the nightlies now but npm doesn't work obviously because there is no
nodeso they are hard to testrichorama commentedon Jan 12, 2015
Some native modules do seem to require a
node.exefile, so supplying that as a binary would be the only way of maintaining 100% compatiblity.For the record, adding the files
node.cmdandnode.exe.cmdcontaining the single line:...seems to work nicely for me in the more general case (i.e. npm works).
Fishrock123 commentedon Jan 19, 2015
@bnoordhuis can this be closed?
napi: Fix cpplint errors (nodejs#140)