Publishing a package

You can publish a package to GitHub Packages to make the package available for others to download and re-use.

GitHub Packages is available with GitHub Free, GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub One. GitHub Packages is not available for private repositories owned by accounts using legacy per-repository plans. For more information, see "GitHub's products."

In this article

Anyone with write permissions for a repository can publish a package to that repository.

About published packages

You can help people understand and use your package by providing a description and other details like installation and usage instructions on the package page. GitHub provides metadata for each version, such as the publication date, download activity, and recent versions. For an example package page, see @Codertocat/hello-world-npm.

You can publish packages in a public repository (public packages) to share with all of GitHub, or in a private repository (private packages) to share with collaborators or an organization. A repository can contain more than one package. To prevent confusion, make sure the README and description clearly provide information about each package.

To prevent confusion and build problems, you cannot edit or change package versions. Once you publish a version of a package, that version number is permanently reserved, even if the version is later deleted. If you want to revise or replace a package version, you must publish a new version with a new version number.

Package names are also permanently reserved. Even if you delete all versions of a package, you cannot publish another package with that name to any other repository owned by the same account.

Publishing a package

You can publish a package to GitHub Packages using any supported package client by following the same general guidelines.

  1. Create or use an existing access token with the appropriate scopes for the task you want to accomplish. For more information, see "About GitHub Packages."
  2. Authenticate to GitHub Packages using your access token and the instructions for your package client.
  3. Publish the package using the instructions for your package client.

For instructions specific to your package client, see "Using GitHub Packages with your project's ecosystem."

After you publish a package, you can view the package on GitHub. For more information, see “Viewing packages.”

Ask a human

Can't find what you're looking for?

Contact us