[angular] NPM-AUDIT는 높은 취약점을 찾습니다. 어떻게해야합니까?

npm audit 내 프로젝트에서 실행하고 이것을 얻었습니다.

@ angular-devkit / build-angular [dev]의 높은 명령 주입 의존성

@ angular-devkit / build-angular 경로> @ ngtools / webpack> 트리-킬

추가 정보 https://npmjs.com/advisories/1432

높은 명령 주입

패키지 트리-킬

> = 1.2.2 패치

@ angular-devkit / build-angular [dev]의 의존성

@ angular-devkit / build-angular 경로> 트리-킬

추가 정보 https://npmjs.com/advisories/1432

트리 킬 은 업데이트가 필요하지만 내 각도가 아닌 각도의 깊이입니다. 그래서 무엇? 해당 각도 팀이 자체 package.json을 최신 버전의 트리-킬로 업데이트 할 때까지 기다려야합니까?



답변

새 버전의 패키지를 기다리지 않고이 문제를 해결할 수 있습니다 @angular-devkit/build-angular.

다음 단계를 수행하십시오.

  1. 올바른 버전의 패키지로 섹션을 package.json추가 하여 파일을 업데이트하십시오 .resolutionstree-kill
"resolutions": {
  "tree-kill": "1.2.2"
}
  1. 다음 package-lock.json명령을 실행 하여 업데이트하십시오 :
npx npm-force-resolutions
  1. 프로젝트에서 NPM 패키지를 다시 설치하십시오.
rm -r node_modules
npm install

실행 npm audit프로젝트가 더 이상이 문제가 발생하지 않는 것을 확인 할 수 있습니다. 그리고 수정 된 파일 커밋하는 것을 잊지 마세요 package.jsonpackage-lock.json.

NPM Force Resolutions 에 대한 자세한 정보 .


답변

나는 오늘 같은 문제가 있었고 다음과 같이 수정했습니다.

  1. node_modules 폴더에서 tree-kill 패키지를 삭제하십시오.
  2. package-lock.json 파일을 삭제하십시오.
  3. node_modules 폴더의 @ angular-devkit / build-angular 폴더로 이동하여 package.json 파일을 편집하십시오. 트리 킬 버전을 1.2.1에서 1.2.2로 변경
  4. node_modules 폴더의 @ ngtools / webpack 폴더로 이동하여 3 단계와 동일하게 수행하십시오.

그 후 npm install을 실행하십시오.


답변

방금이 문제가 있었고 일부 연구를 마친 후에 뭔가를 발견했습니다.

“감사 수정”에서 NPM에서 오류가 발생 함-구성된 레지스트리가 지원되지 않습니다

물론, 그것은 다른 문제에 관한 것이지만 거기에 주어진 해결책을 적용함으로써 내 문제를 해결했습니다.

그래서 :

  • tree-kill의 node_modules 폴더를 삭제하십시오.
  • package-lock.json 파일을 편집했지만 트리 킬 모듈을 사용하십시오.
  • 마지막에 npm install 을 실행하는 것을 잊지 마십시오

내가 충분히 명확했으면 좋겠다.


답변

GitHub 리포지를 확인하여 수정이 진행 중인지 확인하십시오. 이 문제를 발견했습니다 : https://github.com/angular/angular-cli/issues/16629 및 종속성을 제거 하는 풀 요청 ( https://github.com/angular/angular-cli/pull/15894 ).


답변

  1. node_modules 폴더에서 tree-kill 패키지를 제거하고
    package-lock.json 파일을 삭제 하십시오.

  2. node_modules 폴더에서 @ angular-devkit / build-angular 폴더를 찾아 package.json 파일을 편집하십시오. tree-kill 버전을 1.2.1에서 1.2.2로 변경
    node_modules 폴더에서 @ ngtools / webpack을 찾아 package.json 파일을 편집하십시오. 트리 킬 버전을 1.2.1에서 1.2.2로 변경

  3. npm install을 실행하십시오.

답변

package.json에 아래 코드를 추가하십시오

"resolutions": {
"tree-kill":"1.2.2"
}

모든 노드 모듈을 제거하십시오.

rm -r node_modules

새 버전 1.2.2의 package-lock.json을 다음과 같이 업데이트하십시오.

npx npm-force-resolutions

이제 노드 모듈을 설치하십시오 :

npm install

이것은 나를 위해 작동합니다.


답변