如何解决npm install 返回 401 Unauthorized - Gitlab NPM 注册表私有
我正在尝试在私有项目中使用存储在 Gitlab npm 注册表 中的 npm 包。
发布我使用的包:
-
我的 .gitlab-ci.yml:
image: node:12 stages: - deploy deploy: stage: deploy script: npm config set @{{my-org-name}}:registry https://gitlab.com/api/v4/projects/{{project-id}}/packages/npm/ npm config set "//gitlab.com/api/v4/projects/{{project-id}}/packages/npm/:_authToken" '{{my-auth-token}}' npm publish
-
然后是 package.json 中的发布配置:
"publishConfig": { "access": "public","@{{my-org-name}}:{{my-package-name}}": "https://gitlab.com/api/v4/projects/{{project-id}}/packages/npm/" }
此步骤正确创建了包,但尝试使用 npm i @{{my-org-name}}/{{my-package-name}}
进行安装时,我会使用 401 Unauthorized error
。
我想我在某处丢失了身份验证配置,但不知道是哪个或在哪里!
解决方法
我在一个私有模块中工作,我能够安装包的唯一方法是在项目的根目录中设置 .npmrc,我想在其中安装具有如下内容的模块:
- name: Run xxxx Oracle
win_command: powershell -executionpolicy unrestricted folder:\xxx.ps1 -Server {{ XXXX_DB_SERVER }} -UID {{ XXXX_Username }} -PWD {{ XXXXX }} -Database {{ XXX_DB_NAME }} -DSN {{ XXXX_DSN }}
register: cmdXXXXX
- debug: var=cmdXXXX
GITLAB_AUTH_TOKEN 是我必须在 GitLab 上的 Profile 和 Access Tokens 下创建的个人令牌。我把它放在一个环境变量中。
但是,我想找到一种无需创建个人令牌即可验证用户身份的方法;我希望公司的人能够以另一种方式安装模块,也许使用他们的 GitLab 凭据,但我还没有看到过这样的东西......
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。