Making Global NPM packages available to all users on windows 2012 server

OpenStack picture OpenStack · Jul 25, 2016 · Viewed 20.9k times · Source

I am trying to install continues integration server. This server will pull data from GIT and it will try to build the application. Since I am using windows 2012 server, multiple users can trigger the build. For this purpose, I want to ensure all the node packages I install as admin are available to all users.

How can I:

  1. Install node packages globally that are available to all users.
  2. I want to use a locally hosted node registry. I don't want to use node registry.
  3. After the installing the packages, how can I validate if all users can access the packages?

Answer

Nick picture Nick · Oct 12, 2016

Had the same issue. Needed the CI build agent to run a global package on the CLI. Saw this post in a new feature request for system-wide npm -g for Windows.

In short:

  1. Open an administrator level command prompt
  2. Note the current global prefix: npm prefix -g
  3. Set the global prefix to the CI user: npm config set prefix <C:\Users\CI_USER\AppData\Roaming\npm>
  4. Install the needed packages: npm i -g PKG
  5. Restore the prefix to the previous value.