In my windows installation PATH
includes C:\Program Files\nodejs
, where executable node.exe
is. I'm able to launch node
from the shell, as well as npm
. I'd like new executables to be installed in C:\Program Files\nodejs
as well, but it seems impossible to achieve.
Setting NODE_PATH
and NODE_MODULES
variables doesn't change anything: things are still installed in %appdata%\npm
by default.
How can I change the global installation path?
trying to install global packages into C:\Program Files (x86)\nodejs\
gave me Run as Administrator issues, because npm was trying to install into
C:\Program Files (x86)\nodejs\node_modules\
to resolve this, change global install directory to C:\Users\{username}\AppData\Roaming\npm
:
in C:\Users\{username}\
, create .npmrc
file with contents:
prefix = "C:\\Users\\{username}\\AppData\\Roaming\\npm"
reference
npm install -g package
installs global packages into prefix locationnpm config ls -l
was showing prefix = "C:\\Program Files (x86)\\nodejs"
environment
nodejs x86 installer into C:\Program Files (x86)\nodejs\
on Windows 7 Ultimate N 64-bit SP1
node --version
: v0.10.28
npm --version
: 1.4.10
I tried most of the answers here nothing seems to work in my case. So i changed the Temp location in my env variables to C:\npm. Then it started to work. This is not a good idea but a temporary solution.
To Change the default global installation directory for node.js(npm) modules in Windows, You need to fix 2 paths.
First check the current path where node modules are installing, when you try to install them globally by using following command :
npm list -g --depth=0
It will return you the current path where node modules are installing right now. Example: D:\vsc\typescript
Now visit the following path to see npm and npm-cache folder. C:\Users\username(OR Number)\AppData\Roaming
In Roaming folder of your C drive you will find npm and npm-cache folder. Click on the + npm + folder and select the path[Just click on the bar path will be selected automatically, copy it ].This is a path image which you need to select
Once you copy this path set this to the environment variables, with a variable name Path(anything you can select as a name). Now you have set the path for your npm folder, now this is the time to set prefix. Go inside npm folder and check if node_module folder exist, if not create a new folder named as node_modules. You all global modules will come in this folder after completing all steps.
Final Step: Go to CMD and right the following command:
npm set prefix C:\Users\username(Number)\AppData\Roaming\npm\node_modules
Again this is the same path we selected for environment variable, we are just adding one more folder in the path and that is node_module.
All Set....Try Now...It will work..
Building on the installation concept of chocolatey
and the idea suggested by @Tracker, what worked for me was to do the following and all users on windows were then happy working with nodejs
and npm
.
Choose C:\ProgramData\nodejs
as installation directory for nodejs
and install nodejs
with any user that is a member of the administrator group.
This can be done with chocolatey as: choco install nodejs.install -ia "'INSTALLDIR=C:\ProgramData\nodejs'"
Then create a folder called npm-cache
at the root of the installation directory, which after following above would be C:\ProgramData\nodejs\npm-cache
.
Create a folder called etc
at the root of the installation directory, which after following above would be C:\ProgramData\nodejs\etc
.
Set NODE
environment variable as C:\ProgramData\nodejs
.
Set NODE_PATH
environment variable as C:\ProgramData\nodejs\node_modules
.
Ensure %NODE%
environment variable previously created above is added (or its path) is added to %PATH%
environment variable.
Edit %NODE_PATH%\npm\npmrc
with the following content prefix=C:\ProgramData\nodejs
From command prompt, set the global config like so...
npm config --global set prefix "C:\ProgramData\nodejs"
npm config --global set cache "C:\ProgramData\nodejs\npm-cache"
It is important the steps above are carried out preferably in sequence and before updating npm (npm -g install npm@latest
) or attempting to install any npm
module.
Performing the above steps helped us running nodejs
as system wide installation, easily available to all users with proper permissions. Each user can then run node
and npm
as required.
Find the current path of your global node package installation by following command.
npm list -g --depth=0
Change this path to correct path by following command.
npm set prefix C:\Users\username(Number)\AppData\Roaming\npm\node_modules
It worked for me. Read my previous answer for better understanding.
Using a Windows symbolic link from the C:\Users{username}\AppData\Roaming\npm and C:\Users{username}\AppData\Roaming\npm-cache paths to the destination worked great for me.
Delete node folder completely from program file folder. Uninstall node.js and then reinstall it. change Path of environment variable PATH. delete .npmrc file from C:\users\yourusername
In Windows, if you want to move the npm or nodejs folder in disk C to another location, but it still makes sure node and npm works well, you can create symlink like this: Open Command Prompt:
mklink /D "your_location_want_to_create_symlink" "location_of_node_npm_file"
Example:
mklink /D "C:\Users\MyUser\AppData\Roaming\npm" "D:\Nodejs Data\npm"
Now you've created a symlink for npm folder, this symlink will refer to D:\Nodejs Data\npm
Everything will work well.
You can see my answer to this in my answer to another question.
In Windows, the global install path is actually in your user's profile directory
%USERPROFILE%\AppData\Roaming\npm
%USERPROFILE%\AppData\Roaming\npm-cache
npm install
as that user. Some modules/utilities should be installed globally....\npm
directory to your users path yourself.To change the "global" location for all users to a more appropriate shared global location %ALLUSERSPROFILE%\(npm|npm-cache)
(do this as an administrator):
[NODE_INSTALL_PATH]\etc\
directory
npm config --global ...
actionsC:\ProgramData\npm-cache
- npm modules will go hereC:\ProgramData\npm
- binary scripts for globally installed modules will go hereC:\ProgramData\npm\node_modules
- globally installed modules will go herenpm config --global set prefix "C:\ProgramData\npm"
npm config --global set cache "C:\ProgramData\npm-cache"
C:\ProgramData\npm
to your System's Path environment variable If you want to change your user's "global" location to %LOCALAPPDATA%\(npm|npm-cache)
path instead:
C:\Users\YOURNAME\AppData\Local\npm-cache
- npm modules will go hereC:\Users\YOURNAME\AppData\Local\npm
- binary scripts for installed modules will go hereC:\Users\YOURNAME\AppData\Local\npm\node_modules
- globally installed modules will go herenpm config set prefix "C:\Users\YOURNAME\AppData\Local\npm"
npm config set cache "C:\Users\YOURNAME\AppData\Local\npm-cache"
PATH
.
setx PATH "%PATH%;C:\Users\YOURNAME\AppData\Local\npm"
You should use this command to set the global installation flocation of npm packages
(git bash) npm config --global set prefix </path/you/want/to/use>/npm
(cmd/git-cmd) npm config --global set prefix <drive:\path\you\want\to\use>\npm
You may also consider the npm-cache
location right next to it. (as would be in a normal nodejs installation on windows)
(git bash) npm config --global set cache </path/you/want/to/use>/npm-cache
(cmd/git-cmd) npm config --global set cache <drive:\path\you\want\to\use>\npm-cache
The default global folder is C:\Users\{username}\AppData\Roaming\npm
.
You can create (if it doesn't exist) a .npmrc
file in C:\Users\{username}\
and add
prefix = "path\\to\\yourglobalfolder"
.
Note that, in windows, the path should be separated by double back-slash
.
it does not require much configurations just go to advanced system settings copy the path where you have installed your node and just create an environment variable and check with node -v command in your prompt!
Step 1:
npm config get prefix
- Default Path is :
%USERPROFILE%\AppData\Roaming\npm
Step 2:
npm config get cache
- Default Path is :
%USERPROFILE%\AppData\Roaming\npm-cache
Step 3:
npm config set prefix \npm
- example
npm config set prefix C:\\dev\\node\\npm
Step 4:
npm config set cache \npm-cache
- example
npm config set cache C:\\dev\\node\\npm-cache
Run steps 1 & 2 again to check whether the paths are updated as required
That's it. Whenever you install global packages you should see them installed inside \npm\node_modules
Source: Stackoverflow.com