npm install: Use global package if it exists, rath

2019-04-06 03:35发布

问题:

When using npm install with a package.json file, how do I get it to use a globally installed package that meets the criteria instead of downloading and installing the package locally again?

I know about link, but is there a way to do what I'm describing?

回答1:

One way of doing it for a specific set of modules is removing these modules from the dependencies section and creating a prestart script that contains all the modules that you prefer having installed globally.

A simple example might look something like this:

  "scripts": {
    "test": "mocha",
    "prestart": "npm i -g mocha mysql bluebird"
  },

Instead of prestart you can use one of the other hooks such as preinstall and prepare. Note that this won't work as-is with packages you want to publish and would require a bit more hacking.

Help on running scriipts: https://docs.npmjs.com/misc/scripts