问题描述
我向 gitlab 提供的私有 npm 注册表发布了一个 npm 包。不,我尝试在另一个项目中安装该软件包。
身份验证通过位于项目根目录中的 "devDependencies": {
"saber": "^0.11.7","saber-plugin-Feed": "^0.4.3","saber-plugin-query-posts": "^0.4.6","sass": "^1.22.12","sass-loader": "^8.0.0"
}
完成。
.npmrc
我尝试通过纱线安装软件包。
registry=https://registry.yarnpkg.com/
@myorg:registry=https://gitlab.myorg.com/api/v4/packages/npm/
//gitlab.myorg.com/api/v4/packages/npm/:_authToken=XXXX
always-auth=true
命令失败并出现此错误
yarn add @myorg/mypackage --verbose
我认为这不是身份验证的问题,因为第一个请求是成功的。有人知道如何让它发挥作用吗?
解决方法
在为我工作的 .npmrc
文件上附加这一行:
'//gitlab.com/api/v4/projects/<proj-id>/packages/npm/:_authToken'="${GITLAB_AUTH_TOKEN}"
,
尝试将以下内容添加到 .npmrc 文件中。
# Set URL for your scoped packages.
@myorg:registry=https://gitlab.com/api/v4/projects/<Source Project ID>/packages/npm/
# Add the token for the scoped packages URL. This will allow you to download
//gitlab.com/api/v4/projects/<Source Project ID>/packages/npm/:_authToken=${CI_JOB_TOKEN}
# with the project you want your package to be uploaded to.
//gitlab.com/api/v4/projects/<Destination Project ID>/packages/npm/:_authToken=${CI_JOB_TOKEN}