2016-10-19 1 views
1

최근 npm을 사용하기 시작했으며 설치 중에 경고가 팝업됩니다.npm 설치 및 폐지 된 경고

npm install gulp-chimp --save-dev 

실행 예를 들어

NPM은 [email protected]되지 WARN 다음과 같은 경고 산출 : 사용되지 않습니다에 이소 문자열을 사용 @segment/to-iso-string 대신에.

NPM이 [email protected]되지 WARN : 옥은 퍼그로 이름이 바뀌 었습니다,

NPM은 더 이상 사용되지 [email protected] 경고 대신 옥 흙의 최신 버전을 설치하시기 바랍니다 : 3.0.2을 minimatch으로 업데이트하세요 이상

NPM이 [email protected]되지 WARN regexp와 서비스 거부 문제를 방지하려면 : ReDoS 취약점 분석은 설정 - 쿠키 https://nodesecurity.io/advisories/130

내 질문이 꿀꺽 - 침팬지 할 수 있지만, NPM에를 일반적으로 특정하지

을 . 이 패키지를 업데이트 할 것인가 말 것인가? 나는 그것이 업데이트 된 패키지를 사용하는 개발자의 요청이라고 생각하며 패키지를 직접 업데이트하려고 시도 할 때 무언가를 깨뜨릴 수 있다고 생각하지만 취약성에 대해 걱정하고 있습니다.

+1

업데이트하기 전에 프로젝트/도구에 미치는 영향을 반드시 확인해야합니다. 업데이트가 마음에 들면, 개발 환경의 모든 단일 도구를 필요한만큼 재구성 할 준비가되어 있어야합니다. Dev 스크립트와 해당 버전을 추적하는 버전 스크립트 또는 목록을 유지하십시오. 업데이트로 인해 아무 것도 나지 않는 경우를 대비하여이 방법을 사용하면 "대체"가됩니다. –

+0

@AndreCanilho는 좋은 지적입니다. GIT를 사용하고 있습니까? 이렇게하면 불안감이 조금 완화되고 핵심 의존성에 중대한 변화를 줄 수 있습니다. – Knostradamus

답변

2

종속성을 업데이트해도 아무런 문제가 발생하지 않도록 버전 제어가 필수입니다. 종종 문제없이 Deprecated Dependencies를 업데이트 할 수 있지만이를 수행하면 패키지를 사용하는 패키지가 파손될 수 있습니다.

권장하지 않는 기능은 비추천 오류를 무시하는 것입니다. 패키지 관리자가 최종적으로 업데이트해야하는 것은 사실이지만 문제는 여전히 매우 중요합니다. 이 오래된 패키지 중 상당수는 현재 보안 취약점이있어 응용 프로그램에 영향을 미치게됩니다. 그래서에 깊이 레벨을 증가 만 최상위 종속성을 확인합니다 0의 깊이에

npm outdated -depth=3

이 기본값 :

는 의존성이 구식있는 고체 그림과 같은 실행 뭔가를 얻으려면 어느 정도 (3은 단지 예일 뿐이다) 오래된 것보다 더 많은 의존성을 드러 낼 것이다.

앞서 언급했듯이 더 중요한 것은 이러한 종속성 중 어느 것이 취약점을 알고 있는지 파악하는 것입니다. Snyk과 같은 도구를 사용하여 이러한 취약점을 테스트 할 수 있습니다.이 도구는 사용자의 종속성을 open-source database of vulnerabilities과 대조합니다. Snyk은 업그레이드없이 코드를 해독 할 경우 (CLI 또는 자동화 된 Github 풀 요청을 사용하여) 취약성을 패치 할 수 있습니다.

전체 공개 : Snyk에서 일합니다. :) 이것이 바로 이것이 의미하는 문제라는 것입니다.