无法在 Gitlab 上发布私有 npm 包 - E404 Not found PUT

Vic*_*nha 9 npm gitlab npm-publish

我尝试了许多不同的文档和教程,以在私有 gitlab 实例上发布范围内的 npm 包。

到目前为止,我已经:

创建了一个具有包写入和读取权限的部署令牌: 令牌

设置一个包含以下内容的 .npmrc 文件:

@<scope>:registry=https://<domain>/api/v4/packages/npm/

//<domain>/api/v4/projects/<id>/packages/npm/:_authToken=<token>

//<domain>/api/v4/packages/npm/:_authToken=<token>
Run Code Online (Sandbox Code Playgroud)

将“publishConfig”添加到“package.json”:

{
  "name": "@<scope>/<name>",
  "version": "1.0.0",
  "main": "dist/index.js",
  "license": "MIT",
  "publishConfig": {
    "@<scope>:registry": "https://<domain>/api/v4/projects/<id>/packages/npm"
  },
  "scripts": {
    "build": "tsc",
    "prepublish": "tsc"
  },
  "devDependencies": {
    "ts-node": "^9.1.1"
  }
}
Run Code Online (Sandbox Code Playgroud)

验证 repo 允许存储包:

包权限

但是每次我尝试运行npm publishor 时yarn publish,它都会构建、打包但无法发布:

错误

日志文件详细地重复了上面的错误日志。

我正在尝试为内部服务发布一个私有 SDK,并且需要一种发布它的方法,以便只有拥有正确凭据的人才能在他们的项目中安装它。

提供的链接(未找到 - PUT https:// <link...> )重定向到 npmjs.com,我认为这不应该发生,因为我试图将它存储在 Gitlab 上而不是购买组织在 npmjs 上。

我已经在私有域(运行 gitlab 13.9.1)和https://gitlab.com上尝试了这个过程,两者在上面公开的相同存储库配置上都得到了相同的结果。

我错过了一些步骤吗?提前致谢!

Tho*_*ban 0

作为因尝试发布而产生的错误消息的一部分显示的 URL 的编辑部分中的项目 ID 看起来相当长。项目的 ID 不是项目的 slug。它是一个数值。