When and why we should use the option --no-bin-links when we install npm packages?
The official docs say:
The --no-bin-links argument will prevent npm from creating symlinks for any binaries the package might contain.
But it is still unclear to me for which scenarios we have to specify this.
What will be the impact of the specifying of this option on the functionality of the package? Will the package when used error out?
So far one of the scenarios that I came across that
--no-bin-links
may help is when deploying packages in environments that may not have access to NPM Enterprise and you'd want to actually install all the packages and deploy thenode_modules
directly, in which case symlinks may cause some problem ( as you can't deploy them ), using this flag solve this problem.One scenario that I can think of is working with a virtual machine (i.e. vagrant w/ virtual box or VMware) on windows host.
You can't translate symlinks to a synchronized folder on Windows share, so you will need this option to go around it.
Use it for any filesystem that doesn’t support symbolic links.