npm을 실행할 때 npm-cli.js를 찾을 수 없음


90

보통은 npm을 이용하여 라이브러리를 설치할 수 있지만 오늘은 여만을 설치할 때이 오류가 발생했습니다. 근본 원인을 파악하는 데 도움을주세요.

D:\Works\phonegap\ionic\todo>npm install -g yo
    module.js:340
    throw err;
          ^
Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\node_modules\npm\bin\npm-cli.js'

at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3

폴더를 살펴 보았습니다.

C : \ Program Files \ nodejs \ node_modules \ npm \ bin \

하지만 설명 된 오류로 node_modules 폴더 가 표시되지 않습니다 .

또한 npm-cli.js 를 찾고 실제로C:\Program Files\nodejs\node_modules\npm\bin\


노드를 설치할 때?
Mritunjay

1
죄송합니다.이 오류를 수정하기 위해 노드를 다시 설치하지 않았으므로 이제 node_modules 폴더가 없습니다. 그러나 그 전에 C : \ Program Files \ nodejs \ node_modules \ npm \ bin \ node_mod ules \도 확인했지만 npm 폴더는 보이지 않았습니다.
user1192476

이에 대한 답이 있습니다. 8 시간 후에 게시됩니다. 감사.
user1192476

답변:


105

문제는 시스템 변수에서 노드의 잘못된 경로로 인한 것으로 밝혀졌습니다. 경로가 현재 가리키는

(정말 언제 수정했는지 모르겠습니다)

C:\Program Files\nodejs\node_modules\npm\bin

그래서 나는

C:\Program Files\nodejs

그리고 그것은 매력처럼 작동합니다.


16
같은 문제가있었습니다. 경로를 변경하지 않았으므로 Node.js를 업그레이드 할 때 이런 일이 발생했을 것입니다.
닐스 마그네 Lunde 들어

나는 전자 :( 설치할 때 문제의 시작이 일이 나를 위해 생각
찰스 워커

4
이거 어디서 바꿨어? 무슨 파일?
CodeToad

1
환경 변수.
Crozeta

최신 버전에서는 업그레이드 후 환경 변수에 두 경로가 모두 표시 될 수 있으며 이전 경로 (C : \ Users \ YOUR_USER \ AppData \ Roaming \ npm)가 새 경로 (C : \ Program Files \ nodejs)보다 우선합니다. ). 전자를 제거하면 문제가 해결됩니다.
Shahroq

43

명령 줄에서 실행해야합니다.

SET PATH=C:\Program Files\Nodejs;%PATH%

창에서 bash 쉘
Prathap Kudupu

내 버전의 노드를 업그레이드 할 때이 문제가 발생했습니다. 귀하의 솔루션이 완벽하게 작동했습니다. 나는 어떤 삭제하지 않은 node_modules폴더
AllJs

1
그것은 도움이 것을 다행
Prathap Kudupu

npm (npm -i npm)을 사용하여 npm을 업데이트하려고 시도한 후 우선 순위를 높이기 위해이 경로를 더 위로 이동해야했습니다.
Corey Alix

26

경로에 당신이 가지고있는 경우에도이 문제가있을 수 있습니다 C:\Program Files\nodejsC:\Program Files\nodejs\node_modules\npm\bin. 경로에서 후자를 제거


4
경로에서 어디?
CodeToad

18

방금 NodeJS 설치를 수리했는데 저에게 효과적이었습니다!

Control Panel\All Control Panel Items\Programs and Features->로 이동하여 NodeJS수리 옵션을 찾아 선택하십시오. 도움이 되었기를 바랍니다.


1
창에 (10)이 나를 위해 일하지만, "응용 프로그램 및 기능"라고
PeonProgrammer

내 경우에는 node_modules에 npm 폴더가 없었고 내가 한 일은 명령을 실행하는 것이었고 npm install express수리가 도움이되었습니다.
Lalit Fauzdar

감사합니다! 내 Windows PC의 '앱 및 기능'에서 Nodejs를 복구 한 후 내 문제가 해결되었습니다!
missjcohen

18

npm설치된 노드 경로에서 이름이 지정된 디렉토리를 복사합니다 (내 경우에는 npm 디렉토리를에서 사용할 수 있음 C:\Program Files\nodejs\node_modules).

C:\Users\%USERNAME%\AppData\Roaming\npm\node_modules복사 한 npm디렉토리 를 찾아 붙여 넣 습니다.

이 방법은 동일한 오류가 발생했을 때 저에게 효과적이었습니다. . .


3
감사합니다. 업그레이드로 인해 NPM 설치가 엉망이되었고 수리 및 재설치가 문제를 해결하지 못한 후에 잘 작동했습니다.
Slbox

14

이것은 질문에서와 같은 경우는 아니지만 비슷한 문제에 직면 한 사람에게 도움이 될 수 있습니다. Windows npm에서 일부 CI / 자동화 도구에서 명령을 호출하는 경우 다음 오류가 발생할 수 있습니다.

Error: Cannot find module 'SOME_PATH\node_modules\npm\bin\npm-cli.js'

어디 SOME_PATH하지 않습니다 Program Files/...하지만 일부 프로젝트 디렉토리 대신. 따라서 npm은 .NET에서 검색하는 대신 프로젝트 루트 디렉터리에서 npm-cli.js를 찾으려고합니다 Program Files/nodejs.

그 이유는 npm.cmd 스크립트입니다.

:: Created by npm, please don't edit manually.
@ECHO OFF

SETLOCAL

SET "NODE_EXE=%~dp0\node.exe"
IF NOT EXIST "%NODE_EXE%" (
  SET "NODE_EXE=node"
)


SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js"
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g') DO (
  SET "NPM_PREFIX_NPM_CLI_JS=%%F\node_modules\npm\bin\npm-cli.js"
)
IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" (
  SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%"
)

"%NODE_EXE%" "%NPM_CLI_JS%" %*

이 스크립트는 %~dp0npm-cli.js를 조회하는 데 사용 하지만 일부 자동화 도구 %~dp0는 스크립트가 잘못 작동하도록 로컬 프로젝트 디렉토리 를 가리키는 방식으로 작업 디렉토리를 설정할 수 있습니다.

한 가지 가능한 해결책은 이것에서 npm 호출을 변경하는 것입니다.

npm.cmd install

이에

cmd.exe /c npm.cmd install

당신이 실행하는 WORKINGDIRECTORY을 설정해야하는 경우이 방법으로 문제가 해결되지 않는 특정 디렉토리에 명령을 설치
lennybacon 다니엘 피셔

나를 위해 일한 것은 나중에 npm 명령으로 디렉토리 변경을 실행하는 것입니다. "cmd.exe"/ c cd / d "T : \ TfsAgent_work \ 1 \ s \ src \ WebHost \"&& "C : \ Program Files \ nodejs \ npm.cmd "설치
Daniel Fisher lennybacon

7

다른 답변 중 어느 것도 나를 위해 일하지 않았습니다.

내가 쓴 내용은 다음과 같습니다 (Windows의 git bash 쉘에서).

PATH="/c/Program Files/nodejs/:$PATH" npm run yeoman

6

nvm과 함께 설치할 때 노드 8.5에서 동일한 문제가 발생했습니다. 아래 솔루션이 저에게 효과적이었습니다.

$ nvm uninstall 8.5
8.5.0
Uninstalling node v8.5.0...Error removing node v8.5.0
Manually remove C:\Users\Omkar\AppData\Roaming\nvm\v8.5.0.

$ nvm install 8.5
8.5.0
Downloading node.js version 8.5.0 (64-bit)...
Complete
Creating C:\Users\Omkar\AppData\Roaming\nvm\temp

Downloading npm version 5.3.0... Complete
Installing npm v5.3.0...

Installation complete. If you want to use this version, type

nvm use 8.5.0

Omkar@VAST-0137 MINGW64 /d/code

이것은 노드 8.5가 이전에 nvm으로 올바르게 설치되지 않았기 때문에 나를 위해 일했습니다. "npm \ bin \ npm-cli.js"폴더와 파일이 이전에 node_modules 내에 생성되지 않은 원인을 알아 냈습니다.


내 길은 괜찮아 보였다. 제거 / 다시 설치로 문제가 해결되었습니다.
Mark Maslar

새 버전으로 전환하더라도 이전 노드에 이상한 문제가있었습니다. 그래서 이전 노드를 제거하고 새로 다시 설치했습니다. 이 방법으로 나는 CLI 문제를 해결했습니다 :) 감사합니다
Andrej Gaspar

5

Mac에서 :

동일한 오류가 발생했을 때 Maven com.github.eirslett Frontend Plugin에서 이것을 실행했습니다.

결국 나는 :

여기에서 설치 프로그램 다운로드를 통해 Node.js를 설치합니다. http://nodejs.org/

내 maven 빌드 구조 내에서 모든 node/node_modules/폴더를 삭제하십시오 .


2
이 문제가 최신 버전의 프런트 엔드 플러그인으로 수정 된 것 같습니다 : github.com/eirslett/frontend-maven-plugin/issues/147
Noremac

5

위의 것 외에도 제거해야했습니다 C:\Users\%USERNAME%\AppData\Roaming\npm. 이것은 도움이되었습니다.


1
내 시스템에서 전역 패키지가있는 곳입니다. 경로에서 제거하면 더 이상
gulp

5

환경 변수를 변경하지 마십시오.

문제를 일으킨 설치 프로그램이었고 필요한 모든 파일을 설치하지 않았습니다.

방금 Windows 7에서 NODEJS 설정을 복구했으며 매우 잘 작동합니다. 무언가가 작동하지 않는 경우를 대비하여 다시 설치할 수 있습니다.


4

실제로 nodejs 최신 버전으로 업그레이드 할 때 시스템 변수에 추가 된 2 개의 경로가 있습니다.
1. C : \ Program Files \ nodejs
2. C : \ Program Files \ nodejs \ node_modules \ npm \ bin
Windows 7 / 8 / 8.1 사용자의 경우 환경 변수 Windows 10 스마트 GUI가 없습니다.
어쨌든, 당신이해야 할 일은 검색 "C:\Program Files\nodejs\node_modules\npm\bin"하고 제거하는 것입니다.
또한 "C:\Users\%USERNAME%\AppData\Roaming\npm"환경 변수에서 제거 하십시오. 인터넷에서 솔루션을 검색하는 데 10 시간을 낭비했기 때문에이 답변을 게시하고 있습니다. 위의 답변을 결합하여 마침내 문제를 해결합니다.


4

이것은 GoogleChrome / puppeteer를 설치 한 후 나에게 발생하기 시작 했으며 해결책은 npm을 다시 설치하는 것이 었습니다.

$ npm i npm@latest

또는

$ npm install npm@latest

2

여기의 솔루션 중 어느 것도 나를 위해 일하지 않았지만 시스템을 다시 시작한 후 npm install다시 작동했습니다. 이전에 실행 한 하나 이상의 프로세스가 유지되었다고 생각합니다.

Windows 10에서 간단히 PC를 다시 시작하면 마술이되었습니다!


나를 위해 일했습니다! Win10 업데이트 후 오류가 시작됨
Arno van Oordt

2

나는 창문에서 같은 문제가 있었다. 방금 Node를 수리했고 Windows에서 명령을 다시 시작한 후 정상적으로 작동했습니다.


2

나는 그것이 오래된 게시물이라는 것을 알고 있지만 이것을 작성하면서 Node js의 버전은 12.13.1입니다. 사람들은 일반적으로 시스템 경로에 다음을 추가 한 이전 버전의 Node js를 이미 설치했을 수 있기 때문에이 문제에 직면합니다.

C : \ Program Files \ nodejs \ node_modules \ npm \ bin

그러나 최신 버전은 다음을 추가해야합니다.

C : \ Program Files \ nodejs

Nodejs를 설치 한 경로를 말합니다. 기본값은

C : \ Program Files \ nodejs

그러나 다른 위치를 지정한 경우 해당 위치를 가리켜 야합니다.


1

다음 명령을 실행하십시오.

npm i npm@latest -g

Stack Overflow에 오신 것을 환영합니다! 이것이 무엇을하고 질문에 어떻게 대답하는지 자세히 설명해 주시겠습니까?
anothernode jul.

1

npm install -g npm @ [버전] 문제 해결


1

Windows 10의 경우 :

  1. Windows 키를 누르고 시스템 환경 변수 편집을 입력 한 다음 입력하십시오.
  2. 환경 변수를 클릭하십시오 ...
  3. 제목이 환경 변수 인 창 아래쪽에 시스템 변수라는 제목의 테이블이 있고 두 개의 열이 있고 첫 번째 열은 변수입니다.
  4. 변수 경로가있는 행을 찾아 클릭합니다.
  5. 편집을 클릭하면 evironment 변수 편집이라는 제목의 창이 열립니다.
  6. 여기 있으면

C : \ Program Files \ nodejs \ node_modules \ npm \ bin

그것을 선택하고 오른쪽의 편집 버튼을 클릭 한 다음 nodejs 폴더가있는 경로로 필드를 편집하십시오. 제 경우에는 다음과 같이 단축했습니다.

C : \ Program Files \ nodejs

그런 다음 모든 cmd 또는 powershell 터미널을 닫고 다시 열면 npm이 작동했습니다.


1

여전히이 스레드를 둘러 보는 사람들을 위해 :

  • 공식 사이트에서 노드를 설치합니다 (npm 및 노드 버전을 확인하여 올바르게 설치되었는지 확인하십시오. 예, 새 터미널 / cmd에서)
  • 지금 nvm을 설치하고 nvm으로 현재 노드를 관리할지 묻는 메시지가 나타나면 예를 클릭하십시오.
  • 새 cmd를 열고 nvm을 실행하십시오.

nvm을 사용하여 공식 사이트에서 Node를 설치할 필요가 없습니다 nvm install latest. nvm이 실행중인 상태에서 최신 버전의 Node를 설치할 수 있습니다 .
Marco Lackovic

0

VS2017에서 나를위한 솔루션 (Tools | Options ...)

도구에서 |  옵션 ...

경로를 C : \ Program Files \ nodejs로 변경했습니다.


0

마지막에 windows7에 node9.0.0을 설치할 때이 문제가 발생했습니다. 해결 방법은 C : \ Program Files \ nodejs \ node_modules \ npm \ bin에서 npm npm.cmd npx npx.cmd를 제거하는 것입니다. C : \ Program Files \ nodejs \ npm을 실행하면 한 가지 방법이므로 내가 가진 동일한 문제가 있는지 확인하십시오.


0

node_modules 내에 수동으로 npm 폴더를 만들고 복구 옵션으로 설치 프로그램을 다시 실행하십시오. 누락 된 파일을 복사합니다.


0

제 경우에는 nvm-windows 1.1.6을 사용하고 있었고을 사용하여 nodejs 버전을 업데이트 nvm install latest했는데 결국 nodejs와 npm이 설치되어 있다고 알려주었지만 시도했을 때를 npm install받았습니다.

오류 : 'C : \ Program Files \ nodejs \ node_modules \ npm \ bin \ npm-cli.js'모듈을 찾을 수 없습니다.

nvm-windows 구조를 확인할 때 내부에 아무것도없는 폴더가있는, (내 경우에는 NODE_VERSION은 v9.7.1 임) C:\Program Files\nodejs에 심볼릭 링크되어있는 %APPDATA%\nvm\NODE_VERSION것으로이 node_modules오류가 발생했습니다. 해결책은 npm이전 버전의 node_modules폴더 중 하나 에서 폴더 를 복사하여 붙여 넣는 것이 었습니다. 그런 다음 npm을로 업데이트 npm install npm@next -g하고 모든 것이 다시 작동하기 시작했습니다.


0

위의 어느 것도 작동하지 않았기 때문에 "npm install ..."을 수행 할 때마다 모든 npm 명령이 작동을 멈춘다는 것을 알았습니다. 그래서 설치할 때마다 NodeJS 설치 프로그램을 실행하고 "복구"를 선택해야합니다. 진짜 해결책을 찾을 때까지 :)


이 포스트 솔루션에 좋은 또한 우리는 u는이 말보다 논리적으로 오히려 설명하면 좋을 고원 해전을 주셔서 감사 마술 일 :
Aousaf는 라시드

0

NPM을 최신 버전으로 업데이트하는 것이 저에게 효과적이었습니다.

npm install npm@latest -g

0

환경 경로 변수 C : \ Program Files \ nodejs \ node_modules \ npm \ bin을 변경하고 명령 터미널과 npm -v를 열고


0

오늘 Linux 서버에서 똑같은 문제가 발생했습니다. 그 이유는 제가 make install이후에 하지 않았고 make생성 된npm . 따라서 PATH와 모든 것이 엉망이었습니다.

그래서 나를 위해,이 솔루션은하는 것입니다 make installmake와 실행 npm아래를 .node/bin/npm.

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