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


13

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을 최신 버전의 트리-킬로 업데이트 할 때까지 기다려야합니까?

답변:


11

새 버전의 패키지를 기다리지 않고이 문제를 해결할 수 있습니다 @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 에 대한 자세한 정보 .


11

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

  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을 실행하십시오.


1
따라서이 수정으로 node_modules 폴더를 Git으로 유지해야합니까?
로키

질문이 올바르게되었는지 확실하지 않지만 새 설치 후 새 변경 사항을 커밋해야합니다.
saleem

1
프로젝트를 새로 설치하면 문제가
발생할 수 있으므로

2

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

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

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

그래서 :

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

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


1 단계에서 tree-kill의 node_modules 폴더를 삭제할 때 삭제하기로되어 있다면 두 번째 단계에서 package-lock.json을 어떻게 편집 할 수 있습니까?
Mauricio Martinez


0
  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을 실행하십시오.

0

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

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

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

rm -r node_modules

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

npx npm-force-resolutions

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

npm install

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

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