I'm using Windows as a simple user (I don't have any admin rights) and want to install NodeJS LTS.
On the download site I have the choice to download only the binary node.exe
(which don't includes npm
) or the node.msi
installer which requires the admin rights to execute.
How can I manually install node.exe
and also be able to use npm
?
Let say you want to install it into %userprofile%\Applications\nodejs-lts
, let's name it <NODE_PATH>
.
Download the LTS node.exe
binary for Windows and copy it to <NODE_PATH>
.
Add <NODE_PATH>
to your PATH
environment variable (set PATH=<NODE_PATH>;%PATH%
or using Windows user interface)
Download the stable at https://registry.npmjs.org/npm/-/npm-{VERSION}.tgz
npm package (following the documentation)
Unzip the npm-{VERSION}.tgz
anywhere (using 7zip for example)
Launch a cmd
and cd
into the place where you have unzipped npm
Execute: node cli.js install -gf
or node bin/npm-cli.js install npm -gf
on certain versions (thanks to this comment)
The last command is specified in the Makefile
for target install
, target which the README.md
invites to execute when manually installing.
UPDATE 10/2018
On Node's download page referenced in step 1. there is now a .zip archive download which contains both the nodejs executable and npm. Unpacking that to a suitable path and adding this path to your PATH environment variable (step 2.) will give you both node and npm (so you can skip steps 3. - 6.).
The nodejs version of 6.11 LTS and later seems to be easier to install, because npm is already included.
- Download the node.js LTS binary for Windows and extract it to your
desired location
- Add the path of the nodejs folder to the PATH environment variable:
(Shortcut winkey+R and enter:
rundll32 sysdm.cpl,EditEnvironmentVariables
)
- Open a new command window (winkey+R and type
cmd
)
- Type
node -v
and npm -v
to verify the installation
Just download the windows binary (NOT the msi installer) from here, unzip the file, then add the location of the node.exe
file to system path. This means that after unzipping the downloaded binary, you get a folder, then you have to open that folder itself. That is the path you should add to system path.
To add to system path, do this, thanks to Abdel Raoof
Open Run with dialog (Win + R). Copy and paste this line in your command line
rundll32 sysdm.cpl,EditEnvironmentVariables
.
In User variables for user_name (the top window) path of your environment variables dialog add the path to your unzipped node download.
To check for successful installation
node -v
npm -v
The answer provided is too old now. Portable download for Node (including NPM) is available as a zip download and it word just out of the box. you just need to add the folder to the path.
Accepted answer from @Anothony O. didn't work for me. If got it working following these instructions and by adding the following to node\node_modules\npm\npmrc
strict-ssl=false
Try GitHub n-install:
curl -L https://git.io/n-install | bash -s -- -y
As others have pointed out, npm is now included with the binary (.zip) node download. So installing node and npm without admin rights is straightforward, though you need to manually add the node directory to the PATH
environment variable.
However, as of v8.11.4, the binary was including npm v5.6.1. Running npm install npm@latest -g
complained about not being able to delete npm.cmd
and npx.cmd
. Moving those files out of the node directory fixes that, but then you can't simply run npm
on the command line, because npm.cmd
is no longer on the node path.
Trying @Anthony O's approach of downloading the latest npm .zip and installing from there didn't work either, as it was complaining about rimraf
not being installed. It seemed like maybe the npm install script was assuming rimraf
was installed globally.
What finally worked was changing to the node directory and specifying the full path to npm-cli.js
from there:
node node_modules/npm/bin/npm-cli.js install -g npm@latest
I see that the node v8.12.0 package that was just released now includes npm v6.4.1, so the above shouldn't be necessary for now.