Skip to content
Try Gitea Cloud ☁️ for 30 days → Accelerate your Development & Deploys!
This is the documentation of 1.24.7, which is no longer the latest release. See the latest release.

NPM Package Registry

Publish npm packages for your user or organization.

To work with the npm package registry, you need Node.js coupled with a package manager such as Yarn or npm itself.

The registry supports scoped and unscoped packages.

The following examples use the npm tool with the scope @test.

To register the package registry you need to configure a new package source.

Terminal window
npm config set {scope}:registry=https://gitea.example.com/api/packages/{owner}/npm/
npm config set -- '//gitea.example.com/api/packages/{owner}/npm/:_authToken' "{token}"
Parameter Description
scope The scope of the packages.
owner The owner of the package.
token Your personal access token.

For example:

Terminal window
npm config set @test:registry=https://gitea.example.com/api/packages/testuser/npm/
npm config set -- '//gitea.example.com/api/packages/testuser/npm/:_authToken' "personal_access_token"

or without scope:

Terminal window
npm config set registry https://gitea.example.com/api/packages/testuser/npm/
npm config set -- '//gitea.example.com/api/packages/testuser/npm/:_authToken' "personal_access_token"

Publish a package by running the following command in your project:

Terminal window
npm publish

You cannot publish a package if a package of the same name and version already exists. You must delete the existing package first.

Delete a package by running the following command:

Terminal window
npm unpublish {package_name}[@{package_version}]
Parameter Description
package_name The package name.
package_version The package version.

For example:

Terminal window
npm unpublish @test/test_package
npm unpublish @test/test_package@1.0.0

To install a package from the package registry, execute the following command:

Terminal window
npm install {package_name}
Parameter Description
package_name The package name.

For example:

Terminal window
npm install @test/test_package

The registry supports version tags which can be managed by npm dist-tag:

Terminal window
npm dist-tag add {package_name}@{version} {tag}
Parameter Description
package_name The package name.
version The version of the package.
tag The tag name.

For example:

Terminal window
npm dist-tag add test_package@1.0.2 release

The tag name must not be a valid version. All tag names which are parsable as a version are rejected.

The registry supports searching but does not support special search qualifiers like author:gitea.

npm install
npm ci
npm publish
npm unpublish
npm dist-tag
npm view
npm search