에러 코드

ERR_PNPM_UNEXPECTED_STORE#

모듈 디렉토리가 있고 다른 저장소 디렉토리에 연결되어 있습니다.

스토어 디렉터리를 의도적으로 변경했다면 pnpm install을 실행하세요. 그러면 pnpm이 새 스토어를 사용하여 종속성을 다시 설치합니다.

ERR_PNPM_NO_MATCHING_VERSION_INSIDE_WORKSPACE#

프로젝트가 워크스페이스에서 존재하지 않는 워크스페이스 의존성을 갖고 있습니다.

예를 들어, 패키지 foo의 dependencies에 bar@1.0.0이 있습니다:

{
  "name": "foo",
  "version": "1.0.0",
  "dependencies": {
    "bar": "workspace:1.0.0"
  }
}

그러나 워크스페이스에는 bar@2.0.0만 있으므로 pnpm install은 실패합니다.

이 오류를 해결하려면 workspace protocol을 사용하는 모든 종속성이 워크스페이스에 있는 패키지 버전을 사용하도록 업데이트해야 합니다. 이 작업은 수동으로 하거나 pnpm -r update 명령을 사용하여 수행할 수 있습니다.

ERR_PNPM_PEER_DEP_ISSUES#

프로젝트에 해석되지 않은 피어 종속성이 있거나 피어 종속성이 원하는 범위와 일치하지 않으면 pnpm install은 실패합니다. 이 문제를 해결하려면 누락된 피어 의존성을 설치하십시오.

peerDependencyRules.ignoreMissing 및 peerDependencyRules.allowedVersions 설정을 사용하여 이러한 오류를 선택적으로 무시할 수도 있습니다.

ERR_PNPM_OUTDATED_LOCKFILE#

이 오류는 lockfile을 변경하지 않고는 설치를 수행할 수 없을 때 발생합니다. 이는 누군가 저장소의 package.json 파일을 변경한 후 pnpm install을 실행하지 않은 경우 CI 환경에서 발생할 수 있습니다. 또는 누군가 lockfile의 변경 사항을 커밋하는 것을 잊은 경우에도 발생할 수 있습니다.

이 오류를 해결하려면 pnpm install을 실행하고 lockfile의 변경 사항을 커밋하세요.

ERR_PNPM_TARBALL_INTEGRITY#

이 오류는 다운로드한 패키지의 tarball이 예상된 integrity 체크섬과 일치하지 않음을 나타냅니다.

만약 npm 레지스트리(registry.npmjs.org)를 사용하는 경우, 이는 아마도 lockfile의 integrity가 올바르지 않다는 의미입니다. 이는 lockfile의 병합 충돌이 잘못 해결된 경우에 발생할 수 있습니다.

패키지의 기존 버전을 덮어쓸 수 있는 레지스트리를 사용하는 경우, 로컬 메타데이터 캐시에 해당 패키지의 이전 버전의 integrity 체크섬이 있다는 의미일 수 있습니다. 이 경우 pnpm store prune을 실행해야 합니다. 이 명령은 로컬 메타데이터 캐시를 제거합니다. 그런 다음 실패한 명령을 다시 시도할 수 있습니다.

다만 패키지가 올바른 URL에서 다운로드되는지도 주의 깊게 확인하세요. URL은 오류 메시지에 출력됩니다.

ERR_PNPM_MISMATCHED_RELEASE_CHANNEL#

설정 필드 use-node-version이 버전 접미사와 다른 릴리스 채널을 정의하고 있습니다.

예시:

  • rc/20.0.0은 rc 채널을 정의하지만 버전은 안정 릴리스의 버전입니다.
  • release/20.0.0-rc.0은 release 채널을 정의하지만 버전은 RC 릴리스의 버전입니다.

이 오류를 해결하려면 릴리스 채널 접두사를 제거하거나 버전 접미사를 수정하세요.

참고로 lts/Jod와 같은 node 버전은 지정할 수 없습니다. 안정 릴리스의 올바른 구문은 엄격하게 X.Y.Z 또는 release/X.Y.Z입니다.

ERR_PNPM_INVALID_NODE_VERSION#

설정 필드 use-node-version의 값이 잘못된 구문을 가지고 있습니다.

다음은 use-node-version의 유효한 형식입니다:

  • 안정 릴리스:
    • X.Y.Z (X, Y, Z는 정수)
    • release/X.Y.Z (X, Y, Z는 정수)
  • RC 릴리스:
    • X.Y.Z-rc.W (X, Y, Z, W는 정수)
    • rc/X.Y.Z-rc.W (X, Y, Z, W는 정수)