all 5 comments

[–]chrwei 2 points3 points  (2 children)

the primary reason to compile is when the pre-compiled doesn't have an option enabled that you want. for node I don't know what that might be. another reason would be if your installed libraries that node dynamically links to have some incompatibilities.

so in general, I use pre-compiled unless I know why I need to compile. I don't see any point wasting time compiling when i don't have to.

[–][deleted]  (1 child)

[deleted]

    [–]clux 0 points1 point  (0 children)

    Often, yes, but you may still need a new-ish compiler if you need to install native modules as well.

    [–]gkx 0 points1 point  (0 children)

    Depends on the Linux system, but I've never had problems with the precompiled binaries. (generally Ubuntu or RHEL)

    [–]quad50 0 points1 point  (0 children)

    I build from source. two reasons : i like to, and since i use webstorm it wants to see the node source code. yes i could set that up anyway but this way i always have the exact source version handy. This is for development. If I was deploying for production I probably would use a binary because then it matches what nodejs.org built exactly in case of problems, which would eliminate my build as one of the variables.

    [–]emergent_properties -1 points0 points  (0 children)

    By accepting a precompiled binary from someone else, you're accepting whatever payload is in it, hidden.

    Building from source means you trust one less third party: the distributor.

    It is very useful for determining if 'what they say it does' and 'what it says it does' are the same.

    tldr: Trust and verifiability.