[node.js] npm이 package-lock.json을 생성하도록 강제하는 방법이 있습니까?

실수로 삭제했고 그 package.json이후 로 많은 부분을 변경했습니다 . 안npm install또는 npm update생성하지 않습니다 package-lock.json더 이상. 내 npm 캐시와 nvm 캐시를 지우려고 시도했지만 아무것도 작동하지 않는 것 같습니다. 여러 버전의 Node.js (6.10.3 Node.js-3.10.10 npm이 내가 작업하기를 바라는 것임)에서 시도했지만 아무 것도 작동하지 않습니다.

npm이 package-lock.json파일 을 생성하도록 강제하는 방법이 있습니까?



답변

기본적 package-lock.json으로는를 실행할 때마다 업데이트됩니다 npm install. 그러나에서 설정 package-lock=false하여 전역 적으로 비활성화 할 수 있습니다 ~/.npmrc.

전역 package-lock=false설정이 활성화 된 경우 다음 package-lock.json을 실행 하여 프로젝트 파일을 강제 로 업데이트 할 수 있습니다.

npm install --package-lock

이 명령은 package-lock.json업데이트 를 강제하는 유일한 확실한 방법입니다 .


답변

npm 6.x에서는 다음을 사용할 수 있습니다.

npm i --package-lock-only

https://docs.npmjs.com/cli/install.html 에 따르면

–package-lock-only 인수는 node_modules를 확인하고 종속성을 다운로드하는 대신 package-lock.json 만 업데이트합니다.


답변

이것은 의견에서 대답합니다. v5 이상의 package-lock.json기능입니다 npm. npm shrinkwrap의 모든 버전에서 잠금 파일을 만드는 방법입니다 npm.


답변

여러 답변에서 설명했듯이 다음을 실행해야합니다.

npm i

하지만 해결 되지 않으면

npm실행 파일 의 버전을 확인하십시오 . (저에게는 package-lock.json(전혀) 사용하지 않는 3.xx였습니다 )

npm -v

5.xx 이상 이어야합니다 ( package-lock.json 파일 도입 ).

Lunix에서 npm을 업데이트하려면 다음 지침을 따르십시오 .

패키지 파일에 대한 자세한 내용은 이 매체 스토리 를 읽어보세요 .


답변

귀하의 경우 NPM 버전이 낮은 이상의 버전 5 다음의 자동 생성을 얻기 위해 더 높은 버전을 설치 패키지 lock.json을 .

예 : 현재 npm 을 버전 6.14.0으로 업그레이드

npm i -g npm@6.14.0

최신 npm 버전 목록 은 다음과 같이 볼 수 있습니다.

npm view npm versions


답변

package-lock.json은를 실행할 때마다 다시 생성됩니다 npm i.


답변