gpt4 book ai didi

npm - 如何使用 gitlab ci 发布私有(private) npm 包?

转载 作者:行者123 更新时间:2023-12-04 21:46:59 25 4
gpt4 key购买 nike

我想用 Gitlab CI 发布一个私有(private)的 npm 包。

我为我的 npm 用户创建了一个身份验证 token 并将其设置为变量 NPM_TOKEN在我的 Gitlab CI 设置中。

然后该作业会创建一个 .npmrc包含注册表和身份验证 token 的文件。

- npm run build && npm run build:es6
- echo '//registry.npmjs.org/:_authToken=${NPM_TOKEN}'>.npmrc
- npm publish

作业失败并显示以下消息:
npm ERR! code ENEEDAUTH
npm ERR! need auth auth required for publishing
npm ERR! need auth You need to authorize this machine using `npm adduser`

是否可以仅使用身份验证 token 进行发布?

最佳答案

正如@Amityo 所说,与其手动编辑 npmrc 文件,

npm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN}

是要走的路,否则你可能正在编辑错误的 npmrc 文件。

如果您仍然收到身份验证错误,并且确定 token 是正确的,请检查您的注册表 URL。你可以跑
npm publish --verbose

其输出将包括如下行
npm verb getPublishConfig { registry: 'https://.......' }
npm verb mapToRegistry no registry URL found in name for scope @boxine
npm verb publish registryBase https://.......

如果您要发布到 npmjs.org,则 URL(上面的 .......)应该是 https://registry.npmjs.org/ .

如果此注册表 URL 不适合,请在您的 npmrc 文件中查找其他 URL。还要确保您没有覆盖 package.json 中的注册表。文件!您可以搜索 publishConfig 在那个文件中。

关于npm - 如何使用 gitlab ci 发布私有(private) npm 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54665511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com