我有一个私有 npm 包,它使用 Gitlab CI 管道发布到 Gitlab 包注册表。
我想在项目中使用安装这个包yarn.
遵循文档帮助我想出了以下内容.npmrc
file :
//gitlab.com/api/v4/packages/npm/:_authToken=glpat-***********
@my-org:registry=https://gitlab.com/api/v4/packages/npm/
有了上面的内容,npm install @my-org/my-package
工作完美。
然而,yarn add @my-org/my-package
失败。使用--verbose
显示 404 :
verbose 1.169823875 Error: https://gitlab.com/api/v4/projects/<my-project-id>/packages/npm/@my-org/my-package/-/@my-org/my-package-1.0.3.tgz: Request failed "404 Not Found"
error An unexpected error occurred: "https://gitlab.com/api/v4/projects/<my-project-id>/packages/npm/@my-org/my-package/-/@my-org/my-package-1.0.3.tgz: Request failed \"404 Not Found\""
该包确实存在于版本 1.0.3 中,NPM 会安装它。
- 我需要让它与 Yarn 一起工作。我怎样才能做到这一点 ?
- 此外,有没有办法从 authToken 中取出
.npmrc
file ?
你的配置在.npmrc
如果您使用的是 Yarn v1.x,则应该可以工作,因为 Yarn 1 使用此文件中配置的注册表。
但是,对于 Yarn 2,您必须在.yarnc.yml
在项目层面:
npmScopes:
my-org:
npmRegistryServer: "https://gitlab.com/api/v4/projects/my-project-id/packages/npm/"
npmAlwaysAuth: true
npmAuthToken: glpat-*******
Replace my-org
包含你的包的范围,my-project-id 包含你的 Gitlab 项目的数字 ID,并将你的令牌放在范围“api”中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)