본문으로 건너뛰기
버전: Next

pnpm publish

레지스트리에 패키지를 게시합니다.

pnpm [-r] publish [<tarball|folder>] [--tag <tag>]
[--access <public|restricted>] [options]

워크스페이스 내부에 패키지를 게시할 때, 워크스페이스 루트의 LICENSE 파일은 패키지와 함께 포장됩니다(패키지 에 자체 라이선스가 있는 경우 제외).

게시하기 전에 package.jsonpublishConfig 필드를 사용하여 일부 필드를 재정의할 수 있습니다. 또한 publishConfig.directory 을 사용하여 게시된 하위 디렉터리를 커스터마이즈 할 수 있습니다(일반적으로 타사 빌드 도구 사용).

이 명령을 재귀적으로 실행할 때 (pnpm -r publish), pnpm은 버전이 아직 레지스트리에 게시되지 않은 패키지 를 모두 게시합니다.

옵션

--recursive, -r

Publish all packages from the workspace.

--json

Show information in JSON format.

--tag <tag>

지정된 태그가 있는 패키지를 게시합니다. 기본적으로 pnpm publishlatest 태그를 갱신합니다.

예시:

# foo 패키지 디렉토리 내부
pnpm publish --tag next
# foo의 다음 버전을 사용하려는 프로젝트에서
pnpm add foo@next

--access <public|restricted>

게시된 패키지가 공개 또는 제한되어야 하는지 여부를 레지스트리에 알려줍니다.

--no-git-checks

Don't check if current branch is your publish branch, clean, and up-to-date with remote.

--publish-branch <branch>

  • 기본값: mastermain
  • 유형: String

최신 변경 사항을 게시하는 데 사용되는 저장소의 기본 브랜치입니다.

--force

현재 버전이 이미 레지스트리에 있는 경우에도 패키지를 게시하려고 합니다.

--report-summary

게시된 패키지 목록을 pnpm-publish-summary.json에 저장합니다. 게시된 패키지 목록을 보고하기 위해 다른 도구를 사용할 때 유용합니다.

An example of a pnpm-publish-summary.json file:

{
"publishedPackages": [
{
"name": "foo",
"version": "1.0.0"
},
{
"name": "bar",
"version": "2.0.0"
}
]
}

--dry-run

실제로 레지스트리에 게시하는 것을 제외하고 게시가 수행하는 모든 작업을 수행합니다.

--otp

이중 인증이 필요한 패키지를 게시할 때, 이 옵션은 일회용 암호를 지정할 수 있습니다.

--filter <package_selector>

필터링에 대해 자세히 알아보세요.

환경설정

.npmrc 파일에서 git-checks, publish-branch 옵션을 설정할 수도 있습니다.

예시:

.npmrc
git-checks=false
publish-branch=production

라이프사이클 스크립트

  • prepublishOnly
  • prepublish
  • prepack
  • prepare
  • postpack
  • publish
  • postpublish