package-lock.json이 무결성 해시를 sha1에서 sha512로 변경 한 이유는 무엇입니까?
일반적인 워크 플로의 일부로 새 npm 잠금 파일 인 package-lock.json을 생성했습니다. 그러나 이번에는 모든 무결성 해시가 sha1에서 sha512로 변경되었음을 알았습니다. 여기서 무슨 일이 일어나고 있습니까?
내가 볼 수 있듯이 npm은 무결성 체크섬을 sha1에서 sha512로 변경했습니다.
git 변경이 sha1에서 sha512로 진행되는 경우 해당 업데이트를 한 번 수행해야하며 그 후에는 괜찮을 것입니다.
다른 사람이 코드베이스로 작업하고 sha512에서 sha1 (내가 겪고 있던 문제)으로 git 변경을 본다면 다음을 실행하여 수정할 수 있습니다.
package-lock.json에 대한 git의 변경 사항을 무시하십시오.
npm i -g npm
rm -rf node_modules/
npm i
그러면 npm이 업데이트되고 새 체크섬 (sha512)이 존재하도록 모든 패키지가 다시 설치됩니다.
Dave가 대답 한 것을 기반으로합니다. 내가 찾은 수정 사항은 다음을 수행하는 것입니다.
npm i -g npm
cd {working directory}
rm -rf node_modules/
rm package-lock.json
npm cache clear --force
npm i
우리는 모든 개발자를 위해 동시에이 작업을 수행했으며 이로 인해 혼란스러운 병합 충돌을 유발하는 sha-512 대 sha-1 문제가 중지되었습니다.
https://github.com/npm/npm/issues/17749 도 참조 하십시오 . 문제가 '수정'되었다고 주장하지만 그렇지 않습니다. 제거 node_modules
는 해결 방법입니다.
운영 체제와 관계가있을 수 있습니다. 우리는 지금 Linux 및 Windows 플랫폼의 개발자들과 함께이 문제를 해결하고 있습니다.
이전 의견과 제안을 추가로 구축하여 기존 node_modules 폴더, 캐시를 지운 다음 git (다른 컴퓨터에서 커밋 된)에서 sha512 package-lock.json 파일을 가져 와서 마지막으로 npm i를 수행해야했습니다. . 이 같은:
npm i -g
npm rm -rf node_modules/
npm cache clear --force
git reset --hard
npm i
이 package-lock.json이 sha512를 사용하고 다른 변경 사항이 안정화 된 후.
'program tip' 카테고리의 다른 글
SecureRandom 스레드는 안전합니까? (0) | 2020.08.24 |
---|---|
프로토콜 버퍼와 플랫 버퍼의 차이점은 무엇입니까? (0) | 2020.08.24 |
파이썬은 왜 '마법의 방법'을 사용합니까? (0) | 2020.08.24 |
쿼리 계획에서 "비트 맵 힙 스캔"이란 무엇입니까? (0) | 2020.08.24 |
iPad 세로 및 가로 모드에 대한 크기 조정 클래스 (0) | 2020.08.23 |