npm install: when to use --no-bin-links?

2019-03-23 10:47发布

问题:

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?

回答1:

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.



回答2:

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 the node_modules directly, in which case symlinks may cause some problem ( as you can't deploy them ), using this flag solve this problem.