NPM 설치에서 'semver'모듈을 찾을 수 없습니다


197

npm installNodeJS에서 명령 프롬프트를 사용 하여 사용할 수 없습니다 . 실행할 때 이러한 오류가 발생합니다 npm install.

module.js:339
    throw err;
    ^
Error: Cannot find module 'semver'
    at Function.Module._resolveFilename (module.js:337:15)
    at Function.Module._load (module.js:287:25)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (C:\Users\admin\AppData\Roaming\npm\node_modules\npm\l
ib\config\defaults.js:6:14)
    at Module._compile (module.js:435:26)
    at Object.Module._extensions..js (module.js:442:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:311:12)
    at Module.require (module.js:366:17)

4
나도 같은 문제가 있었다. 또는 npm 대신 원사를 사용할 수있다
Wojciech Maślanka

1
package.json을 설치하기 위해 원사를 사용하고 있습니까?
anandharshan

1
그냥 NPM 다시 설치
누누 철근

다르지만 관련이있을 수 있습니다 : https : //.com/questions/53545800#62740853- 도움이 되셨습니까?
Henke

답변:


405

나는 같은 오류가 있었다. npm uninstall npm -g, rm -rf node_modules내가 시도했을 때 나는 받고 있었기 때문에 나에게 도움이되지 않았다 Error: Cannot find module 'semver'. 그러나이 단계에 대한 문제를 해결합니다 (사용중인 다른 전역 모듈이 삭제됩니다).

  • sudo rm -rf /usr/local/lib/node_modules
  • sudo rm -rf ~/.npm
  • brew uninstall --force node
  • brew install node

이것이 비슷한 문제를 겪고있는 사람들에게 도움이되기를 바랍니다.


3
El Capitan을 실행하는 두 개의 다른 컴퓨터에서 이것을 사용하여 두 경우 모두 작동했습니다.
Kamikaze Rusher 2016 년

7
brew uninstall --force node모든 버전을 제거하는 데 사용
21:53에 시작

5
npm을 다시 설치하십시오. curl -0 -L https://npmjs.org/install.sh | sudo shnpm 폴더를 제거한 후
Baryon Lee

17
Yarn이 이미 설치되어 있으면 설치 되지 않은 brew uninstall --ignore-dependencies node곳 에서 작동합니다 brew uninstall --force node.
Maxime Lafarie 2016 년

13
맹목적으로 명령을 붙여 넣는 것이 내 잘못이지만, sudo rm -rf /usr/local/lib/node_modulesgulp 및 셀레늄 서버와 같은 전역 모듈을 잃어 버렸습니다. 이것을 지치십시오
AmmarCSE

84

나는 여기서 같은 문제에 직면하고있다.

당신이 실행 직후에 이런 일이 발생하면 달리기를 brew install yarn시도 yarn global add npm하고 고정하십시오!


2
이 솔루션은 저에게 효과적이며 여기의 대안보다 훨씬 간단합니다. 업그레이드 / 설치 중에 설치 권한 또는 액세스 오류가 발생하면 원사가 npm을 맹 글링 할 수 있다고 생각합니다.
Slbox

53

MS Windows에서 해결책은 제거 %APPDATA%\npm하고 다시 설치하는 것입니다.node


Windows 투표를 두 배로 늘릴 수 있기를 바랍니다. 문제가 있습니다. AppData 디렉토리는 기본적으로 숨겨져 있으므로 실제로이 위치에 설치되었다고 생각하지 않았습니다.
Ringo

7
Windows에서 수리
만하면

2
@MotKohn Repaire 무엇? 다리? 뼈? 차? "리 피어"무엇!
samayo

2
@samayo 설치 한 Windows에는 복구 옵션이 있습니다. 상황에 맞는 의견이었습니다.
MotKohn

2
이 방법은 64 비트 Windows 8.1 Enterprise 랩톱에서도 효과적이었습니다. "npm"과 "npm-cache"폴더를 모두 삭제 한 다음 제거 및 새 노드 설치를 수행해야했습니다.
Eddie

46

brew install yarn어제 달리고 나도 이것도있었습니다 . 적어도 그때까지 모든 것이 잘되었습니다.

실행 rm -rf node_modules하고 다시 설치하려고했지만 npm명령이 작동 하지 않았습니다 .

결국 Mac OS X 용 공식 노드 설치 프로그램을 통해 노드를 다시 설치하는 간단한 단계를 수행했습니다.

https://nodejs.org/en/download/

이제 모든 것이 괜찮습니다. 방금 디렉토리로 돌아가서 npm install실행했으며 트릭을 완료했습니다.


npm install나를 위해 그것을했다. 모든 종속성을 하나씩 설치했지만 npm install한 번에 모두 수행했습니다. 감사.
tazboy 2016 년

3
또한 이것은 후에 나에게 발생했다brew install yarn
월터 마틴 바르가스 - 페냐

1
공식 osx 설치 프로그램에서 node.js를 다시 설치하면 도움이되었습니다. 감사!
로마

그것은 나에게도 일어났다 brew install yarn!! 도대체, 원사
movac

23

아치 리눅스 나를 위해 트릭을 짓을했다 :

sudo pacman -Rs npm
sudo pacman -S npm

1
sudo pacman -Rdd종속성을 무시하지 않고 사용해야 했지만 문제가 해결되지 않았습니다. Mathias Braun의 답변에서 아치 패키지에서 semver를 설치했습니다.
Pierre-Alexis Ciavaldini

15

Arch Linux 4.13.3 에서이 문제가 발생하면 간단히 다시 설치하여 문제를 해결했습니다 semver.

pacman -S semver

8

실제로 이전에 저장된 모듈을 참조하고 있습니다.

솔루션 : nodejs의 설치 디렉토리에서 npm-cache / npm 폴더를 삭제하십시오. Windows에서는 C : / User / Username / Appdata / Roaming / npm (또는 npm_cache)에 있습니다. 다시 설치해보십시오.

모든 OS에서 동일한 작업을 수행합니다.


그게 다야. 노드를 제거했습니다. 그런 다음 모두 삭제 npm하고 npm_cache부터 /Appdata/Roaming. 그런 다음 노드를 다시 설치하십시오. 캐시가 비난받는 것 같습니다.
Saulius

7

macOS (10.13.6)의 경우 다음 명령을 실행할 때

npm install -g react-native-cli

이 오류가 발생했습니다

Error: Cannot find module 'semver'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Module.require (internal/modules/cjs/loader.js:690:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/unsupported.js:2:14)
    at Module._compile (internal/modules/cjs/loader.js:776:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)

명령을 실행 한 후 오류가 해결되었습니다.

yarn global add npm

@Ashoor가 제안한


5

나에게 이것은 전 세계에 원사를 설치 한 후에 일어났다. 이 문제를 해결하려면 실을 사용하여 npm을 설치하고 완료하십시오.

yarn global add npm


2

나는 같은 문제가 있었지만 package-lock.json파일 이 깨져서 발생했습니다 .

삭제 package-lock.json하고 npm install다시 실행 하면 문제가 해결되었습니다.


2

npm install더 낮은 버전의 노드를 사용하여 실행할 때이 문제에 직면했습니다 . 그런 다음 나중에 최신 버전의 노드로 업그레이드하고 실행했을 때gulp 했을 때이 오류가 표시되었습니다.

해결하려면 node_modules를 삭제하고 다시 실행하십시오 npm install. 그런 다음 gulp잘 도망 갔다.


1

/ node_modules 폴더를 제거하고 다시 시도하십시오. ;)

npm rm제거하는 데 사용할 수 있습니다 .

GitHub 에서이 문제 를 확인할 수도 있습니다. unnistal에 대해 더 구체적으로 설명하려면 다음을 수행 하십시오 .

제거

당신이 가기를 너무 슬프다.

sudo npm uninstall npm -g아니면 실패하면

sudo make uninstall 더 심각한 제거

일반적으로 위의 지시 사항으로 충분합니다. 그러면 npm이 제거되지만 설치 한 것은 남겨 둡니다.

설치 한 모든 패키지를 제거하려면 npm ls 명령을 사용하여 찾은 다음 npm rm을 사용하여 제거하십시오.

npm 0.x가 남은 cruft를 제거하기 위해 포함 된 clean-old.sh 스크립트 파일을 사용할 수 있습니다. 다음과 같이 편리하게 실행할 수 있습니다.

npm explore npm -g-sh scripts / clean-old.sh npm은 두 개의 구성 파일을 사용합니다. 하나는 사용자 별 구성 용이고 다른 하나는 전역 (모든 사용자) 구성 용입니다. 다음을 수행하여 볼 수 있습니다.

npm config get userconfig # 기본값은 ~ / .npmrc입니다. npm config get globalconfig # 기본값은 / usr / local / etc / npmrc입니다. npm을 제거해도 기본적으로 구성 파일이 제거되지 않습니다. 원하는 경우 수동으로 제거해야합니다. 이는 향후 npm 설치시 선택한 설정을 기억하지 않음을 의미합니다.


내 답변을 업데이트했습니다. 지금 사용해보십시오. 작동하지 않으면 테스트 해보십시오. package.json을 다른 폴더에 복사하고 npm install을 사용해보십시오.
Rodmentou

1
package.json을 붙여 넣을 수 있습니까?
Rodmentou

{ "name": "workspace", "version": "0.0.0", "private": true, "scripts": { "start": "node ./bin/www"}, "dependencies": { " body-parser ":"~ 1.13.2 ","bson ":"^ 0.2.22 ","cookie-parser ":"~ 1.3.5 ","debug ":"~ 2.2.0 ","express " : "~ 4.13.1", "hbs": "~ 3.1.0", "monk": "^ 1.0.1", "morgan": "~ 1.6.1", "serve-favicon": "~ 2.3 .0 "},"engines ": {"node ":"4.2.2 "}}
user2447562

다른 폴더에서 package.json으로 npm install을 실행하려고 했습니까?
Rodmentou

node.js를 설치 한 후 node.js를 제거해야합니다 ... 평균을 사용하여 샘플 응용 프로그램을 만들어야합니다. 그 시간에는 npm intall 명령을 설치해야하지만 같은 오류가 발생합니다 ... me ..
user2447562 4

1

나는 마침내 이것을 알아 냈습니다! 예, 모든 파일을 제거 / 삭제하고 다시 설치해야합니다. 그러나 일부 파일 경로가 제거 프로세스 중에 삭제하기에는 너무 깁니다. 노드에서 파일 경로가 너무 길어서 삭제할 수 없습니다. 파일 경로의 이름을 바꿔야합니다.

노드를 제거한 후 명령 프롬프트를 사용하여 ... \ Appdata \ roaming \으로 이동하십시오 (오류 메시지의 경로 사용). del npm을 사용하여 폴더를 삭제하십시오. 그런 다음 폴더를 삭제할 수 없으면 다음 오류 메시지에서 파일 경로의 폴더 이름을 "a"또는 다른 이름으로 바꾸십시오. 경로를 따라 여러 폴더에 대해이 작업을 수행해야 할 수도 있습니다. 그럼 당신은 삭제할 수 있어야합니다! 그런 다음 노드를 다시 설치하면 작동합니다.



0

내 경우에는 단순히 다시 실행 brew install yarn하여 문제를 해결했습니다.


0

Brew가 MacOs Sierra 10.12.6에 원사를 설치 한 후에도 같은 문제에 직면했습니다. (그리고 브루어 업데이트 후 첫 번째 설치 시도는 "루비 2.3에서 Homebrew를 실행해야합니다! 2.0.0을 실행 중입니다.

그래서 n 관리자를 사용하여 npm을 다시 설치하십시오.

  • 빈 매개 변수를 사용하여 "n"명령을 사용하여 다른 노드 버전 (제 경우 8.0으로)으로 전환
  • 또는 "n xxx"로 새로 설치하십시오. 여기서 xxx는 노드 버전 번호입니다 (i 6.9.1 필요).
  • "n rm xxx"로 작업 버전을 삭제하십시오. 여기서 xxx는 노드 버전 번호입니다. 필요한 경우 sudo를 사용하십시오
  • "n xxx"로 작업 버전을 설치하십시오. 여기서 xxx는 노드 버전 번호입니다. 필요한 경우 sudo를 사용하십시오
  • 작업 버전의 노드로 전환하십시오. (참조 첫 단계 참조)

노드가 sudo 아래에 설치되어 문제가 발생할 수 있다고 생각합니다.



0

AWS Linux에 동일한 문제를 설치했습니다. 와 함께 설치해야했습니다 sudo. 그래서이 문제를 해결하기 위해이 기사의 3 단계를 수행했습니다 (최신 버전의 노드를 얻음)

https://www.hostingadvice.com/how-to/update-node-js-latest-version/

wget https://nodejs.org/dist/vx.x.x/node-vx.x.x-linux-x64.tar.xz
tar -C /home/aUser/node --strip-components 1 -xJf node-vx.x.x-linux.x64.tar.xz

그러나 사용자의 홈 디렉토리에 설치했습니다 /home/aUser/node. 그런 다음 해당 경로를 PATH에 추가했습니다.

export PATH=/home/aUser/node/bin:$PATH

그 후 나는 npm install아무런 문제없이 할 수있었습니다 .


0

더 높은 버전의 cli에서 프로젝트를 실행하는 동안이 문제에 직면했습니다. 이 문제를 해결하려면 @ angular-devkit / build-angular 모듈을 주석 처리하고 다시 설치해야합니다.

npm install @ angular-devkit / build-angular --save


0

semver설치되어 있는지 확인하십시오 .npm install -g semver


1
npm이 작동하지 않으므로 npm을 통해 semver를 설치할 수 없습니다. 가장 좋은 방법은 NPM 또는 누락 된 패키지를 설치 원사를 사용하는 것입니다
NFpeter

@ NFpeter 나는 질문에 언급 된 것과 똑같은 문제를 겪었고 이런 식으로 고쳤습니다. 그래서 npm은 작동했습니다 (최소한 경우).
Javarome

0

내 프로젝트에서 gulp 3에서 gulp 4로 업그레이드하는 동안 발생했습니다. 따라서 "gulp watch"명령을 실행할 때 동일한 오류가 발생했습니다.

전 세계적으로 설치된 gulp와 비교할 때 버전 불일치 때문일 수 있습니다.

따라서 "-g"전역 플래그를 사용하여 꿀꺽 꿀꺽 업그레이드하거나 도움이 될 것입니다.

그러나 프로젝트에서 "./node_modules/.bin/gulp watch"를 사용했습니다. 이것은 gulp에 필요한 모든 의존성이 node_modules에서만 가져 오는 것을 보장합니다.


0

DeveloperReference.com에서 anonymous (?)가 지적한 것처럼 아래 단계는 npm -install을 실행할 때 "모듈 'semver'를 찾을 수 없습니다"를 해결했습니다.

* "이 단계를 수행하여 Node.js 제거 문제를 해결했습니다.

  1. 다음 폴더의 내용을 제거하십시오
    • C : \ Users \ {username} \ AppData \ Roaming \ npm- 캐시
    • C : \ Users \ {사용자 이름 \\ AppData \ Roaming \ npm
  2. C : \ Program Files \ nodejs 그런 다음 https://nodejs.org/en/ "* 에서 Node를 다시 설치 하십시오.

https://html.developreference.com/article/12253101/Cannot+find+module+%27semver%27+When+installing+Npm


-1

사전 설치 스크립트가 있으면 확인하십시오. 때때로의 버전을 제한 node하고 npm하나는 프로젝트를 실행해야합니다.

이 경우 다음을 semver통해 수동으로 설치 해야합니다.npm install -g semver


-2

동일한 문제가 발생하여 노드 버전을 업그레이드하여 수정했습니다.

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