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.