npm 오류! EEXIST 삭제 / 코드 거부


94

나는 단순한 실행 중이고이 npm install오류가 발생합니다.

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

이 오류가 처음 발생하고 어떻게해야할지 모르겠습니다.


당신은 또한 달리기를 시도 sudo npm install했습니까?
antzshrek

네, 그것은 같은 한
Azoulay 제이슨

1
Google 파일 스트림과 동기화되는 폴더에서 프로젝트를 호스팅 할 때도이 문제가 발생했습니다. 프로젝트를 "로컬 디스크"로 옮긴 후 실행할 수있었습니다npm install
Trevor

답변:


148

단계

  1. node_modules디렉토리를 완전히 삭제하십시오 .
  2. npm install다시 실행 하십시오.

이것은 도움이 될 것입니다.


이 작업을 수행 한 후 npm-cli.js가 누락되어 설치에 실패했습니다. 나는 NPX 파일을 제거와 함께 다음 이름 바꾸기 솔루션을하고 결국
데이비드 브래들리에게

예, 작동하지만 삭제 및 설치에 오랜 시간이 걸립니다. 이 솔루션은 최적이 아닙니다.
jasie 2010

1
이제 "모듈 C : \ Program Files \ nodejs \ node_modules \ npm \ bin \ npm-cli.js를 찾을 수 없습니다."가 표시됩니다.
David Klempfner

1
당신이 다른 SO 응답 확인하시기 바랍니다 @DavidKlempfner stackoverflow.com/questions/24721903/...
antzshrek

28

이것이 내가 '검색'한 후 내 문제를 해결 한 방법이었습니다.

  • 노드가 설치된 디렉토리로 이동하십시오.
  • npm.cmdnpm파일 이름 변경
  • 설치를 다시 실행하십시오.
  • 성공하면 이전에 이름을 바꾼 파일을 삭제 npm하고npm.cmd
  • 그렇지 않은 경우 :( :(

여기 cli 명령 ... 이름을 바꾸고 싶지 않은 경우

cd %ProgramFiles%\nodejs
ren npm.cmd npm2.cmd
ren npm npm2 
npm2 install npm@latest -g

del npm2
del npm2.cmd

롤프 슈 미디 거


4
이 대답은 나를 위해 일했지만 npx.cmd 및 npx의 이름을 npx2.cmd 및 npx2로 변경해야했습니다. 또한 관리자 권한으로 터미널을 실행해야했습니다.
raphadko

4
이것은 나에게도 효과적이었습니다. npx 및 npx.cmd와 npm 및 npm.cmd의 이름을 변경해야했습니다. 그런 다음 "npm_ update -g npm"을 수행했고 작동했습니다. 아마도 설치 프로그램을 통해 nodejs를 설치하지 않고 대신 zip 파일에서 추출했다는 사실과 관련이있을 수 있습니다.
이고르

1
또한 npx.cmd의 이름을 변경해야합니다.
Reza

1
작동했던 파일의 이름을 바꾸는 대신 npx 파일을 삭제하고 새 파일이 생성되었습니다.
David Bradley

2
이것은 나에게도 효과적이었습니다. @DavidKlempfner는 이름이 변경되었으므로 npm2를 사용하여 명령을 실행합니다. 그 후`... \ npm \ node_modules * \ node_modules \ .bin * 삭제 거부에 대한 문제가 발생했습니다. 불평 할 때마다 .bin 폴더를 수동으로 삭제했는데 (예 : 두 번 또는 세 번) 작동했습니다.
Zakk Diaz

7

실행 npm update -g npm을 시도한 다음 npm i다시 실행 하십시오.
작동하지 않으면 npm cache clean도움이 될 수 있습니다.

그래도 작동하지 않으면 node_modules응용 프로그램 에서 폴더를 제거하고 npm i다시 실행하는 것이 좋습니다.
여전히 운이 없다면 을 실행하기 전에 package-lock.jsonnode_modules폴더를 제거하는 것이 좋습니다 npm i.


2
@AzoulayJason 방금 깨달았습니다. 당신은 각 CLI의 최신적인 버전을 사용하는 경우는 매우 사용하는 것이 좋습니다 yarn대신 npm i. 최신 버전에는 npm과 관련된 일종의 버그가 있습니다. 도움이 되었기를 바랍니다.
OArnarsson 2017 년

npm @ 5부터는 npm 캐시가 손상 문제로자가 치유되고 캐시에서 추출 된 데이터의 유효성이 보장됩니다. 모든 것이 일관성이 있는지 확인하려면 대신 'npm cache verify'를 사용하세요.
Ruan 2011

4

나는 TGZ 아카이브를 만들어 때문에, (NPM은 최신 5.6.0 현재입니다) 리눅스에서이 문제를 가지고, 나는 (참조 약간의 심볼릭 링크를 --dereference 필요 man tar)들이 테스트를 위해 VM에 복사 한 TGZ 아카이브를 (만들 때 ). 이런 식으로 많은 심볼릭 링크 node_modules/.bin가 일반 파일이되었습니다. npm은 오류 메시지에서 말합니다.

npm 오류! /path/to/node_modules/.bin/jest : 삭제 거부는 링크가 아닌 / path / to / node_modules / jest 외부에 있습니다.


2
  1. 제어판에서 node.js 제거
  2. 폴더 아래 삭제
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. node.js를 다시 설치하십시오.

1

비슷한 오류가 발생했습니다 (내는 @angular가 아닙니다)
. 설치 프로그램으로 노드를 삭제하고 다시 설치하여 해결되었습니다.


1

나는 똑같은 문제가 있었고 문제는 npm내가 설치를 시도하는 동시에 백그라운드에서 어딘가에서 실행되고 있다는 것이 밝혀졌습니다 ( npm run serve정확히 Webpack의 ).

실행중인 인스턴스를 중지하면 문제가 해결되었습니다.


1

비슷한 문제가 있었고 작동 한 것처럼 보이는 것은 npm을 제거하고 다시 설치하여 올바른 사용자로 로그인하여 재설치하는 것입니다. 이전에 npm을 루트로 설치했지만 일반 (sudo) 사용자로 패키지를 업데이트했다고 생각합니다.


1

암호화 된 가상 디스크에서 작업 할 때이 문제가 발생했습니다. 프로젝트를 일반 디스크로 이동하면 문제가 해결되었습니다.


1

같은 오류가 발생했지만 "cordova"모듈을 버전 9로 업데이트하려고 할 때 --force. 내가 사용한 npm 명령 :

npm i -g --force cordova@9 

1

이것은 나를 위해 일했습니다.

npm install -g --force gatsby-cli

감사


1

Windows 사용자 (Windows 10에만 해당)의 경우이 문제를 해결해야합니다.

이 폴더로 이동 :

C:\Users\[UserName]\AppData\Roaming\

npmnpm-cache폴더를 삭제하거나 이름을 바꿉니다 .

이것은 Windows에서 내 문제를 해결했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.