npm - 从 Github 包注册表安装私有包失败,未找到/未授权
问题描述
我创建并发布了一个私有的 Github 包。一开始尝试用纱线安装它,我面临以下问题:
无论我尝试使用 yarn 还是 npm,尽管遵循 Github 记录的确切步骤(https://help.github.com/en/github/managing-packages-with-github-package-registry/配置-npm-for-use-with-github-package-registry)。
我的.yarnrc
:
registry "https://npm.pkg.github.com/OWNER"
使用 yarn,它会不断地尝试寻找包,https://registry.yarnpkg.com/@GITHUB_USERNAME
而不是我在上面输入的注册表。
备注:在.yarnrc
注册表中需要添加以下稍微不同的语法:
registry "https://npm.pkg.github.com/"
到目前为止,我也开始尝试混合配置.npmrc
,.yarnrc
但没有运气。
-
编辑(部分解决)
我想出了如何使用 npm 或 - 在我的情况下 - 纱线来实际访问包。现在我面临一个Request failed \"401 Unauthorized\"
错误问题,尽管我在上面添加了凭据.yarnrc
:
//npm.pkg.github.com/:_authToken=AUTH_TOKEN
做同样的.npmrc
事情也不起作用。
解决方案
我找到了解决方案,不幸的是,该解决方案在任何地方都没有很好的记录,而是混合了不同的资源——而且非常简单。
无论你使用 npm 还是 yarn,只要准备好以下内容.npmrc
(yarn 也会包括这个):
registry=https://registry.yarnpkg.com/
@GITHUB_USERNAME:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=AUTH_TOKEN
always-auth=true
一些评论:
always-auth
需要,至少在使用纱线时(尚未使用 npm 测试)- 相反,添加上面的
.yarnrc
内容是行不通的。当需要身份验证时,纱线会以某种方式出现问题。 yarn add @GITHUB_USERNAME/PACKAGE_NAME
现在,您可以使用npm 或等效的 npm轻松安装您的私有包。- 包括
registry=https://registry.yarnpkg.com/
纱线或registry=https://registry.npmjs.org/
npm
我希望这个解决方案也适用于你的情况。否则,请让我知道您面临的问题,我很乐意分享有关该主题的一些研究以及解决方案可能隐藏的位置。
推荐阅读
- ocaml - 如何计算字符列表中重复出现的字符重复次数?
- docker - 为什么在 docker 引擎中已经创建了一些卷?
- android - 具有通用类型的 Moshi jason 适配器
- javascript - React:Slider onChangeEnd 之后的无限函数调用循环
- r - gtsummary R 包:如何为 tbl_regression 添加事件数?
- laravel - Laravel - 使用 LOAD DATA LOCAL INFILE 导入 CSV - 导入失败
- r - 在多会话中使用 rTorch furrr
- javascript - Instagram 资源在 android WebView 中加载并复制资源链接?
- javascript - 通过 JavaScript 检查当前页面 URl
- python - 我正在尝试制作桌面通知器