what does the "-g" flag do in the command "npm install -g <something>"?

Solution 1:

-g tells npm to install the named module so that it's accessible globally.

But it's important to understand that -g is typically only used for packages that provide command-line utilities so that their executable components are available in the system PATH.

If you have multiple programs that require the same package, each program should install the package locally. If you really want to share an installed package by installing it globally, you have to also use npm link.

See the docs on the topic of globally installed packages here.

Solution 2:

If you do npm help install you will see that:

  o   npm install (in package directory, no arguments):

      Install the dependencies in the local node_modules folder.

      In global mode (ie, with -g or --global appended  to  the  com-
      mand), it installs the current package context (ie, the current
      working directory) as a global package.

Solution 3:

Take the express module as an example. If it was previously installed with the -g option, you could write express anywhere, to create a skeleton application.