无法在 Gitlab 上发布私有 npm 包 - E404 Not found PUT
Posted
技术标签:
【中文标题】无法在 Gitlab 上发布私有 npm 包 - E404 Not found PUT【英文标题】:Can't publish private npm package on Gitlab - E404 Not found PUT 【发布时间】:2021-06-06 16:19:46 【问题描述】:我尝试了许多不同的文档和教程来在私有 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>
将“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"
已验证 repo 允许存储包:
但每次我尝试运行 npm publish
或 yarn publish
时,它都会构建、打包但无法发布:
日志文件详细重复上面的错误日志。
我正在尝试为内部服务发布私有 SDK,并且需要一种方法来发布它,以便只有具有正确凭据的人才能在他们的项目中安装它。
提供的链接(未找到 - PUT https:// )重定向到 npmjs.com,我认为这不应该发生,因为我试图将它存储在 Gitlab 而不是在 npmjs 上购买组织。
我已经在私有域(运行 gitlab 13.9.1)和 https://gitlab.com 上尝试了这个过程,在上面公开的相同存储库配置上都得到了相同的结果。
我错过了一些步骤吗?提前致谢!
【问题讨论】:
【参考方案1】:URL 的编辑部分中的项目 ID 显示为尝试发布导致的错误消息的一部分,看起来相当长。项目的 ID 不是项目的 slug。它是一个数值。
【讨论】:
以上是关于无法在 Gitlab 上发布私有 npm 包 - E404 Not found PUT的主要内容,如果未能解决你的问题,请参考以下文章