DEV Community

Cover image for Portable NodeJS without administrator access

Portable NodeJS without administrator access

Will G on February 18, 2020

So you want to use NodeJS on a portable flash drive? Or maybe just in a non-restricted directory? If you are reading this then you may have gone ...
Collapse
 
khakimvinh profile image
khakimvinh

Thanks William.

I would like to point out a few things:

  1. It's not really portable since if you move to a new machine, you may need to setup the environment variables again.
  2. Anyone stuck or hit errors on step 5, may want to modify the install.md, original one seem buggy and only for administrator.

I modified mine as blow if anyone interested:

@echo off
set /P NVM_PATH="Enter the absolute path where the zip file is extracted/copied to: "
setx NVM_HOME "%NVM_PATH%"
set NVM_SYMLINK=C:\Program Files\nodejs
setx NVM_SYMLINK "%NVM_SYMLINK%"
setx PATH "%PATH%;%NVM_PATH%;%NVM_SYMLINK%"

if exist "%SYSTEMDRIVE%\Program Files (x86)\" (
set SYS_ARCH=64
) else (
set SYS_ARCH=32
)
(echo root: %NVM_PATH% && echo path: %NVM_SYMLINK% && echo arch: %SYS_ARCH% && echo proxy: none) > %NVM_PATH%\settings.txt
@echo on

Collapse
 
dainiuxt profile image
Dainius

Lifesaver!

Collapse
 
dainiuxt profile image
Dainius

Thanks, William, for great walk-through, unfortunately I stuck at step 5. Installer stubbornly want to create c:/settings.txt, no matter what i input during installation or even in install.cmd file. There is no other than C:/ on computer I am using right now and I don't have administrator permissions here.

Collapse
 
yougotwill profile image
Will G

Hey Dainius, assuming you are wanting to install onto a usb, are you running your command line program from your usb and not from your regular Programs? Basically when you run your terminal from a portable program only that usb (E:/) will be in your path and not the C drive.

The only other thing I can think of is check if nvm can run even if settings.txt isn't made correctly. If it does then use nvm root to change the nvm PATH to your USB. Then you should be able to move the settings.txt file.

Collapse
 
dainiuxt profile image
Dainius

Hi, William,

actually I'm installing in some folder in c:/ disk. Will try the USB option then. Thanks for your answer.

Collapse
 
rushglen profile image
rushglen

I have node.js working on my usb (and windows10 laptop), currently if I remove the usb and then re-insert I have to restart the node server - I use 'pm2' to start, stop etc. I'd like the node server to restart when I insert the usb - how do I do that? I should add I have pm2 installed globally - it resides on my c drive on laptop.

Collapse
 
crazymax profile image
CrazyMax • Edited

Hey William, feel free to open an issue or a PR to enhance nodejs-portable :)
github.com/crazy-max/nodejs-portable/

But overall nvm-windows is more complete :)

Collapse
 
yougotwill profile image
Will G

Hey Max, I don't have any Go experience unfortunately but if I ever get into Go I'll look into it :)

Collapse
 
ced64k profile image
Cédric Simon

Hi, I tried this one with hope but I get the error message "Access to the registry path is denied" after running install.cmd 😕

Collapse
 
yougotwill profile image
Will G

Hi, sorry for the late response. I don't know much about the Windows registry unfortunately. Are you trying to install on a USB or your C drive? My solution only works if you do everything on the USB.