npm ERR! Refusing to delete / code EEXIST

node.jsNpm

node.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

  1. Delete the node_modules directory completely.
  2. 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 and npm files
  • Try run the installation again
  • If successful..delete the files you renamed earlier npm and npm.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

  1. Uninstall node.js from control panel
  2. 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-*
  1. 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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAzoulay JasonView Question on Stackoverflow
Solution 1 - node.jsantzshrekView Answer on Stackoverflow
Solution 2 - node.jsyemiOdetolaView Answer on Stackoverflow
Solution 3 - node.jsOArnarssonView Answer on Stackoverflow
Solution 4 - node.jsnimodkaView Answer on Stackoverflow
Solution 5 - node.jsAttila123View Answer on Stackoverflow
Solution 6 - node.jsDhineshView Answer on Stackoverflow
Solution 7 - node.jsSezayir DagtekinView Answer on Stackoverflow
Solution 8 - node.jsAndrés MejíaView Answer on Stackoverflow
Solution 9 - node.jsuserA789View Answer on Stackoverflow
Solution 10 - node.jsKT.View Answer on Stackoverflow
Solution 11 - node.jsLittle BrainView Answer on Stackoverflow
Solution 12 - node.jsKjeldView Answer on Stackoverflow
Solution 13 - node.jsAlbertoView Answer on Stackoverflow
Solution 14 - node.jsuluView Answer on Stackoverflow
Solution 15 - node.jsquestionto42standswithUkraineView Answer on Stackoverflow