npm을 사용하여 앱의 종속성을 어떻게 다시 설치합니까?


384

내 앱이 의존하는 모든 패키지 를 다시 설치하는 간단한 방법이 있습니까 (예 : 내 패키지 node_modules 폴더에 있습니까)?


4
npm rebuild또한 의존성 문제에 도움이 될 수 있습니다
Francisco Presencia 2016 년

1
다른 사람을 돕는 경우 : 하나의 패키지를 다시 설치하려고하면 npm update <packageName>훌륭하게 작동합니다
rinogo

답변:


617

내가 볼 수있는 가장 쉬운 방법은 node_modules폴더 삭제 및 실행 npm install입니다.


27
합의 package.json앱용 파일을 만들었다 고 가정합니다 .
JohnnyHK

8
디렉토리를 npm install제거한 후 실행 node_modules하면 다른 버전의 종속성 package.json이 풀다운되도록 정의 될 수 있습니다 . 앱에 매우 특정한 버전의 종속성이 필요한 경우주의해서 디렉토리를 npm shrinkwrap조사하거나 node_modules소스 제어 를 위해 디렉토리를 체크인하십시오 .
smithclay 2016 년

9
@smithclay 내 앱의 package.json에 패키지의 명시 적 버전을 정의 했으므로 괜찮습니까?
trusktr

@vadim 나는 행동에 대한 테스트를하고 npm install있었고 항상 의존성을 재설치하고 package.json이 허용하는대로 패키지를 최신 버전으로 업그레이드합니다. 따라서 node_modules폴더가 손상되었다고 생각하지 않으면 폴더를 제거 할 필요가 없습니다. 제거해야한다고 생각하는 이유가 있습니까? 그러나 의도하지 않은 패키지를 제거하려는 경우 npm prune대신 실행할 수 있습니다
himanshu

1
@ himanshu 당신은 npm install모든 모듈을 package.json 상태 로 올바르게 업그레이드합니다. 그러나 문제는 모든 패키지를 다시 설치하는 방법 입니다. 따라서 node.js 버전을 업그레이드 한 후 손상되었거나 이진 부분을 다시 작성해야 할 수도 있습니다.
Vadim Baryshev

96

올바른 방법은 실행하는 것 npm update입니다. 정말 강력한 명령으로 누락 된 패키지를 업데이트하고 이미 설치된 최신 버전의 패키지를 사용할 수 있는지 확인합니다.

npm으로 수행 할 수있는 작업을 이해 하려면 NPM 소개를 읽으십시오 .


57
그러나 새로운 패키지가 없다면 아무것도하지 않을 것입니다. 패키지가 이미 최신 버전 인 경우에도 강제로 다시 설치 하려고합니다 .
trusktr

2
누락 된 패키지가없는 경우 package.json에 나열된 최신 버전의 패키지 (패키지 종속성 포함)를 사용할 수 있는지 확인합니다. 따라서 본질적으로 가능한 경우 패키지를 업그레이드합니다. 그러나 다시 설치되지는 않습니다. 명령을 사용하여 npm uninstall <package_name>특정 패키지 npm uninstall를 제거 하거나 모든 패키지를 제거 하기 위해 실행할 수 있습니다.
himanshu

1
npm uninstall패키지를 지정하지 않고 시도했지만 오류가 발생합니다.
trusktr

이것을 실행 한 폴더 디렉토리에 package.json이 있습니까? 글로벌 패키지를 제거하는 경우 -g
himanshu

1
제공하신 링크가 작동하지 않습니다. 새 링크를 제공 할 수 있습니까? (I 발견 있지만, 나는 확실히 그것을로 변경 허용입니다 아니에요)
은 Motti

62

대부분의 경우 다음 명령을 사용하여 모든 노드 모듈을 완전히 다시 설치합니다 (프로젝트 폴더에 있는지 확인하십시오).

rm -rf node_modules && npm install

폴더를 npm cache clean제거한 후 실행 하여 node_modules캐시 된 종속성이 없는지 확인할 수도 있습니다 .


47

npm에 대한 CLI 명령을 업데이트하고 플래그를 install추가했습니다 --force.

npm install --force

--force(또는 -f) 인수는 강제 npm로컬 복사본이 디스크에있는 경우에도 원격 리소스를 가져올 수 있습니다.

보다 npm install


좋아요, 'git + github.com ...' 과 함께 작업하십시오 !
Toni Bünter

12

npm에 있는 재설치 모듈을 사용할 수 있습니다 .

설치 한 후 다음 명령을 사용할 수 있습니다.

reinstall

node_modules폴더 를 수동으로 제거 하고 만드는 것과의 유일한 차이점 npm install은이 명령이 npm의 캐시를 자동으로 지우는 것입니다. 따라서 하나의 명령으로 3 단계를 수행 할 수 있습니다.

upd : npx reinstall 패키지를 전체적으로 설치하지 않고이 명령을 실행하는 방법입니다 (npm5 +에만 해당).


1
@ g00glen00b 하이퍼 링크없이 유용한 정보를 포함하도록 편집했습니다
Rob

@ g00glen00b 완벽합니다. 삭제 후보가되지는 않습니다. 이 게시물을 참조하십시오 -하이퍼 링크가 제거 될 때 유용한 정보 (즉, 라이브러리 이름)가있는 경우 특히 링크로 짧은 답변을 처리합니다.
Rob


1

Windows의 경우 사용할 수 있습니다

(if exist node_modules rmdir node_modules /q /s) && npm install

node_modules디렉토리 를 제거한 npm install다음 수행합니다 . 설치하기 전에 제거하면 모든 패키지가 다시 설치됩니다.


0

이 단계에 따라 노드 모듈을 다시 설치하고 업데이트하십시오.

node_modules 폴더가 없어도 작동합니다. 이제 다음 명령을 동 기적으로 실행하십시오. "npm update"를 사용할 수도 있지만 이것이 선호되는 방법이라고 생각합니다

npm outdated // not necessary to run this command, but this will show outdated dependencies

npm install -g npm-check-updates // to install the "ncu" package

ncu -u --packageFile=package.json // to update dependencies version in package.json...don't run this command if you don't need to update the version

npm install: will install dependencies in your package.json file.

package.json 파일의 종속성 버전에 문제가 없으면 해당 단계를 따를 필요가 없습니다.

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