gpt4 book ai didi

gitlab - 配置 Lerna 以将 NPM 包发布到私有(private) Gitlab 存储库

转载 作者:行者123 更新时间:2023-12-04 01:12:36 26 4
gpt4 key购买 nike

我正在用 Lerna 做一些测试用一堆我想与一些应用程序共享的包创建一个单一的仓库。我按照 Lerna 的文档设置了一个项目,这是文件结构:

- lernatest/
- lerna.json
- package.json
- packages/
- common
- src/
- index.ts
- .npmrc
- package.json
- models
- src
- index.ts
- .npmrc
- package.json
我需要将包发布到我的 Gitlab 帐户中的私有(private)项目。在使用 Lerna 之前,我可以在每个包上手动添加 .npmrc具有以下内容的文件:
@mypackages:registry=https://gitlab.com/api/v4/packages/npm/
//gitlab.com/api/v4/projects/<PROJECT_ID>/packages/npm/:_authToken=<TOKEN>
//gitlab.com/api/v4/packages/npm/:_authToken=<TOKEN>
在每个 package.json文件:
{
"name": "@mypackages/common",
"publishConfig": {
"@mypackages:registry": "https://gitlab.com/api/v4/projects/<PROJECT_ID>/packages/npm/"
}
(ETC...)
}
我不知道如何正确配置 Lerna 以将包发布到我的 Gitlab 注册表。这是我的 lerna.json文件:
{
"version": "0.0.5",
"packages": [
"packages/*"
],
"command": {
"publish": {
"registry": "https://gitlab.com/api/v4/projects/<PROJECT_ID>/packages/npm/"
}
}
}
但是当我运行 npx lerna publish ,我收到以下错误:
lerna info publish Publishing packages to npm...
lerna notice Skipping all user and access validation due to third-party registry
lerna notice Make sure you're authenticated properly ¯\_(ツ)_/¯
lerna http fetch PUT 401 https://gitlab.com/api/v4/projects/<PROJECT_ID>/packages/npm/@mypackages%2fcommon 462ms
lerna ERR! E401 401 Unauthorized - PUT https://gitlab.com/api/v4/projects/<PROJECT_ID>/packages/npm/@mypackages%2fgcommon
我试过搜索文档,但找不到任何有用的东西,有什么想法吗?
谢谢!

最佳答案

似乎 .npmrc发布时忽略每个包中的文件。我创建了一个 .npmrc在项目的根目录中使用所需的身份验证数据文件,现在它就像一个魅力。
这就是我的.npmrc文件看起来像:

@mypackages:registry=https://gitlab.com/api/v4/packages/npm/
//gitlab.com/api/v4/projects/<PROJECT_ID>/packages/npm/:_authToken=<TOKEN>
//gitlab.com/api/v4/packages/npm/:_authToken=<TOKEN>

关于gitlab - 配置 Lerna 以将 NPM 包发布到私有(private) Gitlab 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64367880/

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