에러 코드

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 은 실패하게 됩니다.

해당 오류를 수정하려면, 워크스페이스 프로토콜 를 사용하는 모든 의존성은 워크스페이스에 있는 패키지 버전을 사용하기 위해 업데이트해야 합니다. 이는 pnpm -r update 명령어를 통해 또는 수동으로 수행될 수 있습니다.

ERR_PNPM_PEER_DEP_ISSUES#

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

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

ERR_PNPM_OUTDATED_LOCKFILE#

이 오류는 lockfile을 변경하지 않고는 설치를 수행할 수 없을 때 발생합니다. 이는 CI 환경에서 누군가 저장소의 package.json 파일을 변경한 후 pnpm install을 실행하지 않은 경우에 발생할 수 있습니다. 또는 누군가 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는 정수)