npm ERR! Refusing to delete / code EEXIST
node.jsNpmnode.js Problem Overview
I'm just running a simple npm install
and i get this error.
npm ERR! path /Users/jasonazoulay/Desktop/fabrick.io/delegation/node_modules/@angular/cli/node_modules/webpack/node_modules/yargs/node_modules/os-locale/node_modules/execa/node_modules/cross-spawn/node_modules/.bin/which
npm ERR! code EEXIST
npm ERR! Refusing to delete /Users/jasonazoulay/Desktop/fabrick.io/delegation/node_modules/@angular/cli/node_modules/webpack/node_modules/yargs/node_modules/os-locale/node_modules/execa/node_modules/cross-spawn/node_modules/.bin/which: is outside /Users/jasonazoulay/Desktop/fabrick.io/delegation/node_modules/@angular/cli/node_modules/webpack/node_modules/yargs/node_modules/os-locale/node_modules/execa/node_modules/cross-spawn/node_modules/which and not a link
npm ERR! File exists: /Users/jasonazoulay/Desktop/fabrick.io/delegation/node_modules/@angular/cli/node_modules/webpack/node_modules/yargs/node_modules/os-locale/node_modules/execa/node_modules/cross-spawn/node_modules/.bin/which
npm ERR! Move it away, and try again
This is the first time I get this error and I don't know what to do.
node.js Solutions
Solution 1 - node.js
Steps
- Delete the
node_modules
directory completely. - Run
npm install
again.
This should help.
Solution 2 - node.js
This was how I solved mine after 'googling' around...
- Navigate to the directory your node was installed in
- rename your
npm.cmd
andnpm
files - Try run the installation again
- If successful..delete the files you renamed earlier
npm
andnpm.cmd
- if not, :( :(
The cli commands here...in case you don't want to be renaming and stuffs
cd %ProgramFiles%\nodejs
ren npm.cmd npm2.cmd
ren npm npm2
npm2 install npm@latest -g
del npm2
del npm2.cmd
Rolf-schmidiger
Solution 3 - node.js
Try running npm update -g npm
then run npm i
again.
If that doesn't work maybe npm cache clean
helps.
If that doesn't work either you should consider removing the node_modules
folder in your application and running npm i
again.
If you still have no luck, I suggest removing the package-lock.json
and the node_modules
folder before running npm i
.
Solution 4 - node.js
For windows users (specific to windows 10) this must solve the problem.
Goto this folder:
C:\Users\[UserName]\AppData\Roaming\
delete or rename the npm
and npm-cache
folders.
This has fixed my problem in Windows.
Solution 5 - node.js
I got this problem on Linux (npm is the current latest 5.6.0), because I created a tgz archive, and I needed to --dereference some symlinks (see man tar
) when creating a tgz archive (which was them copied to VM for testing). This way a lot of symlinks in node_modules/.bin
also became regular files.
npm says in the error message, .e.g.
>npm ERR! Refusing to delete /path/to/node_modules/.bin/jest: is outside /path/to/node_modules/jest and not a link
Solution 6 - node.js
This worked for me
npm install -g --force gatsby-cli
Thanks
Solution 7 - node.js
- Uninstall node.js from control panel
- Delete below folders
C:\Program Files (x86)\Nodejs
C:\Program Files\Nodejs
C:\Users\{User}\AppData\Roaming\npm (or %appdata%\npm)
C:\Users\{User}\AppData\Roaming\npm-cache (or %appdata%\npm-cache)
C:\Users\{User}\.npmrc (and possibly check for that without the . prefix too)
C:\Users\{User}\AppData\Local\Temp\npm-*
- Install node.js again
Solution 8 - node.js
I had a similar issue but was because initially the project was installed with
yarn install
Then when I tried to install dependencies using
npm install
I caught this same error. So ensure to use only one: yarn
or npm
. I fixed it by adding my dependency with
yarn add <vendor_name>
but the same works if you use npm instead, you need to add a dependency.
Solution 9 - node.js
I had a similar error(mine is not @angular),
resolved by deleting and reinstalling node with installer.
Solution 10 - node.js
I had the same problem and it turned out the problem was that a stray instance of npm
was running somewhere in the background at the same time I was trying to do the install (it was Webpack's npm run serve
, to be precise).
Stopping the running instance resolved the problem.
Solution 11 - node.js
I had a similar problem and what seems to have worked is to uninstall npm and reinstall it, making sure to be logged in as the correct user for the reinstall. I think I previously installed npm as root, but was updating a package as a regular (sudo) user.
Solution 12 - node.js
I had this problem when working on a virtual, encrypted disk. Moving the project to a regular disk solved the problem.
Solution 13 - node.js
I the same error but when I was trying to update module "cordova" to version 9. I fixed it by forcing the install with --force
. The npm command I used:
npm i -g --force cordova@9
Solution 14 - node.js
I downgraded my node version to 10 with nvm, and it installed a newer version of npm (v6) during the process. After that, the package was installed w/o errors. So it's either npm or node version.
Solution 15 - node.js
In my case, when trying to install for example the program mermaid-cli
, and with npm being already installed,
npm install @mermaid-js/mermaid-cli
threw the error in question.
When I added --force
, the output was just shortened, but the same error:
$ sudo npm install @mermaid-js/mermaid-cli --force
npm WARN using --force I sure hope you know what you are doing.
npm WARN enoent ENOENT: no such file or directory, open '/home/MY_USER/package.json'
npm WARN MY_USER No description
npm WARN MY_USER No repository field.
npm WARN MY_USER No README data
npm WARN MY_USER No license field.
npm ERR! code EEXIST
npm ERR! path /home/MY_USER/node_modules/npm/node_modules/.bin/rimraf
npm ERR! Refusing to delete /home/MY_USER/node_modules/npm/node_modules/.bin/rimraf: is outside /home/MY_USER/node_modules/npm/node_modules/rimraf and not a link
npm ERR! File exists: /home/MY_USER/node_modules/npm/node_modules/.bin/rimraf
npm ERR! Remove the existing file and try again, or run npm
npm ERR! with --force to overwrite files recklessly.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2022-02-03T13_41_52_634Z-debug.log
I then followed the accepted answer that says that you only need to remove and install npm
again and therefore removed the directory node_modules
from my home
directory where it was installed.
Yet, I still ran into the error when running npm install
:
$npm install
npm WARN saveError ENOENT: no such file or directory, open '/home/MY_USER/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/home/MY_USER/package.json'
npm WARN MY_USER No description
npm WARN MY_USER No repository field.
npm WARN MY_USER No README data
npm WARN MY_USER No license field.
up to date in 0.865s
found 0 vulnerabilities
The easy fix for this was to just install the program with npm
again when npm
'node_modules are removed! I happened to find out about by entering the command although npm
's node_modules
were removed. Ran through.
Logs:
$npm install @mermaid-js/mermaid-cli
> puppeteer@13.1.3 install /home/MY_USER/node_modules/puppeteer
> node install.js
Downloading Chromium r950341 - 142 Mb [====================] 100% 0.0s
Chromium (950341) downloaded to /home/MY_USER/node_modules/puppeteer/.local-chromium/linux-950341
npm WARN saveError ENOENT: no such file or directory, open '/home/MY_USER/package.json'
npm WARN notsup Unsupported engine for commander@8.3.0: wanted: {"node":">= 12"} (current: {"node":"10.19.0","npm":"6.14.4"})
npm WARN notsup Not compatible with your version of node/npm: commander@8.3.0
...
npm WARN MY_USER No description
npm WARN MY_USER No repository field.
npm WARN MY_USER No README data
npm WARN MY_USER No license field.
+ @mermaid-js/mermaid-cli@8.13.10
added 147 packages from 94 contributors and audited 147 packages in 26.338s
10 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
Wrap up:
If npm install
fails, install whatever program you like or dislike, but install one program with the npm
command even if you just have removed npm
's node_modules
directory. It will download the node_modules
again and in my case, the program worked.