>웹 프론트엔드 >JS 튜토리얼 >NPM 종속성 오류

NPM 종속성 오류

Barbara Streisand
Barbara Streisand원래의
2025-01-02 20:58:39968검색

나중에 npm 종속성 오류를 읽는 방법을 상기시키기 위해 간단한 게시물을 작성합니다.

이 스택 오버플로 게시물에 대한 찬사: https://stackoverflow.com/questions/76039613/how-do-i-read-npm-dependent-confluence-errors

다음은 두 가지 핵심 부분이 강조된 내 오류입니다.

NPM Dependency error

이 내용은 "client@1.0.0의 경우 React 18.3.0을 설치했지만 React-dom@19.0.0에는 React 19.0.0이 필요합니다."라는 내용입니다.

이 문제를 어떻게 해결하나요? 우선 package.json 파일을 통해 npm 버전 관리 체계를 이해해야 합니다.

첫 번째 단계는 npm에서 사용하는 의미론적 버전 관리 시스템을 이해하는 것입니다. 주 버전 5, 부 버전 10 및 패치 버전 3은 5.10.3 또는 다음과 같습니다.

의미적 버전 관리 = MAJOR.MINOR.PATCH

이 기사 https://flaviocopes.com/npm-semantic-versioning/에서 npm이 package.json 파일에서 설치할 라이브러리와 버전을 해석하는 방법에 대한 다음 핵심 사항을 얻을 수 있습니다.

  • > 현재 버전보다 높은 모든 버전
  • ^ - 부 릴리스와 패치 릴리스를 업데이트할 수 있습니다. 예: ^5.1.3. 5.10.3 업데이트는 허용하지만 주요 릴리스 6으로의 전환은 허용되지 않습니다.
  • ~ 패치 릴리스만 허용

package.json 파일의 단순화된 버전

{
"dependencies" : {
  "react": "^18.3.1"
  "@types/react-dom": "^18.2.21",
  }
}

여기서 내 package.json 파일에서 볼 수 있는 첫 번째 문제는 현재 React의 주요 버전 19인 새로운 주요 릴리스가 있다는 것입니다. 내 package.json의 "^"는 이를 설치하는 것을 허용하지 않습니다. .

내 종속성에서 고려해야 할 모든 새 버전을 이해했는지 확인하기 위해 다음 명령을 실행했습니다

npm이 오래됨

NPM Dependency error

문제를 해결하기 위해 메이저 버전 19에서 모든 부 버전과 React 및 React-dom의 패치 버전을 허용하도록 package.json 파일을 업데이트했습니다.

{
"dependencies" : {
  "react": "^19.0.0"
  "@types/react-dom": "^19.0.0",
  }
}

또한 이 모든 문제를 해결하기 위해 편리한 npm i 명령을 실행하기 전에 node_modules 및 package-lock.json 폴더를 삭제했습니다. 시간이 지남에 따라 npm이 개선되었으므로 이제는 이것이 필요하지 않다고 확신합니다. node_modules와 package-lock.json이 모두 설치 명령에서 다시 생성되므로 디버깅할 때 이렇게 해도 문제가 없습니다.

이제 문제가 해결되었습니다! 이것이 도움이 되기를 바랍니다.

위 내용은 NPM 종속성 오류의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.