In my case the actual issue was due to the presence of a space in my windows user name folder. Which also appears to be the case here by looking at the first line of the stack trace,
Error: EPERM: operation not permitted, mkdir 'C:UsersLOGIVAR'
Since there is no directory present named LOGIVAR
its trying to run mkdir
, for which its getting operation not permitted.
Following is how i fixed it thanks to citoreek, g8up & gijswijs
run npm config edit
to edit your config, this will open up a text file in notepad or your configured editor,
then change cache path
from
; cache=C:UsersGijs van DamAppDataRoaming
pm-cache
to
cache=C:UsersGIJSVA~1AppDataRoaming
pm-cache
Remember to remove the ;
at the start,
next question would be how do we know to replace our user name with GIJSVA~1
?
There are a couple of ways to target this,
- Go to
C:Users
open power Shell and execute following command
cmd /c dir /x
what this does is, list down all the directories in current directory along with their short names which aren't supposed to contain any spaces and normally are 6 characters or less in length. Copy that short name against your user name directory and use this in your cache path.
You will notice these short names only exist for directories either containing spaces or which are longer than 6 characters, for the rest of the directories their short names will be same as their directory name,
- If you don't want to use above command, then simply remove all the spaces from your user name in your cache path, then take the first 6 characters of the user directory name and postfix it with ~1. You should also uppercase it, but it appears not to be making any difference.
After you are done with editing this file, save your changes then try again after closing any active power shell / bash process and reopening them.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…