TLDR : (설명없이 반 직관적으로 보일 수 있음)
npm install caniuse-lite browserslist
npm uninstall caniuse-lite browserslist
설명:
이 경고 메시지 ( "canisuse-lite가 오래되었습니다. 제발 ....")는 설치된 버전의 caniuse-lite가 현재 버전에서 2 개보다 오래된 버전을 찾으면 빌드 / 시작 중에 browserslist의 스크립트에 의해 출력됩니다. 프로젝트에서 아무것도 변경되지 않고 프로젝트를 시작하거나 빌드 할 때 갑자기이 메시지가 표시되면, 아마도 최신 버전의 caniuse-lite가 업데이트 된 것입니다.
불행히도, browserslist가 표시하는 텍스트 메시지는 프로젝트의 종속성으로 caniuse-lite를 설치 한 경우에만 유용합니다. 아마 당신은하지 않았습니다. 따라서 제안 된 'npm update caniuse-lite'또는 'npm update'caniuse-lite @ latest '(또는'npm install ')를 실행하면 npm은 package.json 종속성에 나열된 패키지를 볼 수 없으므로 무시합니다. 요청.
그 패키지들은 어떻게 의존성이 되었습니까? 프로젝트가 생성되었을 때 (앱 angularapp 또는 create-react-app 또는 프레임 워크와 유사) npm은 browserslist를 프로젝트의 종속성 중 하나가 아닌 필요한 도구의 종속성으로 설치했습니다. 동시에, caniuse-lite는 browserslist의 종속 항목으로 설치되었습니다. 나중에 프로젝트가 업데이트되면 package-lock.json 파일이 만들어져 모든 종속성을 특정 버전으로 잠급니다.
package-lock.json의 종속성 목록에서 버전 정보를 업데이트 할 수있는 경우 'npm install'을 실행하면 node_modules에서 이러한 패키지가 업데이트됩니다. package-lock.json을 수동으로 편집해서는 안됩니다. 대신 가장 좋은 방법은 다음과 같습니다.
이러한 패키지를 프로젝트의 종속성으로 임시 설정하십시오.
npm install caniuse-lite 브라우저 목록
패키지를 최신 버전으로 업데이트하는 것 외에도 package.json 및 가장 중요한 package-lock.json의 종속성 목록이 업데이트됩니다.
프로젝트의 직접적인 종속성으로 다음 패키지를 제거하십시오.
npm uninstall caniuse-lite 브라우저 목록
이러한 패키지는 다른 종속성에 의해 사용되므로 node_modules에서 제거되지 않습니다. package.json 만 프로젝트 종속성으로 제거하도록 업데이트되었습니다.
package-lock.json을 커밋하십시오. 다른 사람은 이제 'npm install'을 실행하여 package-lock.json의 하위 종속성 목록에서 업데이트 된 두 패키지를 가져오고 경고 메시지를 중지 할 수 있습니다.
npm update caniuse-lite browserslist
어떻게됩니까?