使用 Yarn 从 Github 包注册表安装私有包失败且未授权

2024-03-24

这个问题与这些有关。但这些解决方案都不适合我。

  • Yarn 找不到私有 Github npm 注册表 https://stackoverflow.com/questions/58316109/yarn-cant-find-private-github-npm-registry
  • 从 Github 包注册表安装私有包失败,并显示未找到/未授权 https://stackoverflow.com/questions/58522363/installing-private-package-from-github-package-registry-fails-with-not-found-not

我可以毫无问题地安装软件包npm install @scope/package但是我不能用纱线做同样的事情:yarn add @scope/package

纱线抛出以下错误:An unexpected error occurred: "https://npm.pkg.github.com/download/@scope/package/1.2.8/089b08cffb16074c210ec3a59b04de268ae1c7b3a0492dce110adee3ada05bdd: Request failed \"401 Unauthorized\"".

我的 .npmrc 文件如下所示:(尝试使用和不使用下面的 .yarnrc)

registry=https://registry.npmjs.org/
//npm.pkg.github.com/:_authToken=MY_AUTHTOKEN
@scope:registry=https://npm.pkg.github.com/

我尝试添加这个 .yarnrc 文件:

registry "https://registry.npmjs.org"
"@scope:registry" "https://npm.pkg.github.com"

(没有 .yarnrc)我尝试过这个 .npmrc 文件

registry=https://registry.yarnpkg.com/

@scope:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=MY_AUTHTOKEN
always-auth=true

Where MY_AUTHTOKEN is my Personal Access Token我是从 Github 生成的。 (它可以访问包中的所有内容)

我尝试过:

  • 删除纱线锁
  • 删除.yarnrc
  • 登录npm login使用我的 PAT 作为密码
  • 注销 npm 并删除全局 .npmrc 和 .yarnrc
  • 登录方式yarn login

如有任何困惑 我实际上并没有尝试 @scope 和 /package 而是我的实际范围和包名称。

我确实可以访问 Github 上的范围和包。

我的第一个设置再次与 npm 配合得很好。但我无法使用纱线来实现这一点,并且无法在 SO 上找到任何有效的现有解决方案。


以下内容对我有用.npmrc

@mvce-superstars:registry=https://npm.pkg.github.com

Using yarn v2 https://yarnpkg.com/getting-started/install,以下内容对我有用.yarnrc.yml https://yarnpkg.com/configuration/yarnrc:

npmScopes:
  "mvce-superstars":
    npmAlwaysAuth: true
    npmAuthToken: xxx-xxx # optional
    npmRegistryServer: "https://npm.pkg.github.com"

Note

范围名称是小写。这应该是名字 存储库的所有者(例如MVCE-Superstars https://github.com/MVCE-Superstars) 包裹在哪里 已发布,但名称必须全部小写。


设置

出版

  • 我创建了一个私人副本 https://help.github.com/en/github/creating-cloning-and-archiving-repositories/duplicating-a-repository这个的你好世界 https://github.com/rms1000watt/hello-world-npm.git存储库。
  • 我复制了上面的内容.npmrc OR .yarnrc.yml文件到存储库中。
  • 接下来我使用以下方式登录npm login --registry=https://npm.pkg.github.com/ OR yarn npm login --scope=mvce-superstars命令 (skip if npmAuthToken https://yarnpkg.com/configuration/yarnrc#npmAuthToken上面指定了)
  • 我输入了我的 github 用户名,以及我的token https://github.com/settings/tokens(带范围read:package, write:package, and repo) (skip if npmAuthToken上面指定了)
  • 最后,我使用将包推送到我的私人仓库npm publish OR yarn npm publish

Output

npm notice 
npm notice ????  @mvce-superstars/[email protected] /cdn-cgi/l/email-protection
npm notice === Tarball Contents === 
npm notice 16.3kB example.gif   
npm notice 89B    bin.js        
npm notice 175B   lib/index.js  
npm notice 734B   package.json  
npm notice 2.0kB  yarn-error.log
npm notice 570B   Readme.md     
npm notice 167B   init.sh       
npm notice === Tarball Details === 
npm notice name:          @mvce-superstars/hello-world-npm        
npm notice version:       1.1.1                                   
npm notice package size:  14.3 kB                                 
npm notice unpacked size: 20.0 kB                                 
npm notice shasum:        5379c8030fa9c5f57e5baef67f2a8a784ce93361
npm notice integrity:     sha512-FAI/Wuy4gHW8C[...]FINQeIlZ+HDdg==
npm notice total files:   7                                       
npm notice 
+ @mvce-superstars/[email protected] /cdn-cgi/l/email-protection

正在下载

  • 我使用创建一个新的 npm 项目npm init (use-hello-world-npm)
  • 我复制上面的.npmrc到文件夹的根目录
  • 接下来我注销 npm (npm logout --registry=https://npm.pkg.github.com/) 并重新登录 (npm login --registry=https://npm.pkg.github.com/), 只是要确定
  • 最后,我跑yarn就像它应该的那样,它起作用了!

Output

yarn install v1.22.4
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
Done in 0.55s.

yarn v2

➤ YN0000: ┌ Resolution step
➤ YN0014: │ @mvce-superstars/hello-world-npm@npm:^1.1.1: Only some patterns can be imported from legacy lockfiles (not "https://npm.pkg.github.com/download/@mvce-superstars/hello-world-npm/1.1.1/426126f89734c2c76bfac0342c1de9c95ad003b6e905a7b9f9f745892c86da7a#5379c8030fa9c5f57e5baef67f2a8a784ce93361")
➤ YN0000: └ Completed in 0.55s
➤ YN0000: ┌ Fetch step
➤ YN0013: │ @mvce-superstars/hello-world-npm@npm:1.1.1::__archiveUrl=https%3A%2F%2Fnpm.pkg.github.com%2Fdownload%2F%40mvce-superstars%2Fhello-world-npm%2F1.1.1%2F426126f89734c2c76bfac0342c1de9c95ad003b6e905a7b9f9f745892c86da7a can't be found in the cache and will be fetched from the remote server
➤ YN0000: └ Completed in 1.3s
➤ YN0000: ┌ Link step
➤ YN0031: │ One or more node_modules have been detected and will be removed. This operation may take some time.
➤ YN0000: └ Completed
➤ YN0000: Done with warnings in 1.87s

之后的文件夹内容yarn

.
├── node_modules
│   └── @mvce-superstars
├── package.json
└── yarn.lock

为了更好地衡量,我将其删除(yarn remove @mvce-superstars/hello-world-npm):

yarn remove v1.22.4
[1/2] Removing module @mvce-superstars/hello-world-npm...
[2/2] Regenerating lockfile and installing missing dependencies...
success Uninstalled packages.
Done in 0.06s.

并再次添加(yarn add @mvce-superstars/hello-world-npm):

yarn add v1.22.4
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
success Saved 1 new dependency.
info Direct dependencies
└─ @mvce-superstars/[email protected] /cdn-cgi/l/email-protection
info All dependencies
└─ @mvce-superstars/[email protected] /cdn-cgi/l/email-protection
Done in 1.08s.

Sources:

  • https://help.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-npm-for-use-with-github-packages https://help.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-npm-for-use-with-github-packages
  • https://gemfury.com/help/private-yarn/ https://gemfury.com/help/private-yarn/
  • https://github.com/yarnpkg/yarn/issues/4451 https://github.com/yarnpkg/yarn/issues/4451
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Yarn 从 Github 包注册表安装私有包失败且未授权 的相关文章

  • 从 PowerShell 调用 Windows Shell 函数?

    所以我正在遵循这个教程 https msdn microsoft com en us library windows desktop hh127427 v vs 85 aspx https msdn microsoft com en us
  • 在 GitHub Actions 中缓存 node_modules

    我有一个 Yarn monorepo 工作区 有 2 个包 后端 Node js TypeScript 和前端 React Typescript package json 已修剪 workspaces backend frontend 我正
  • 如何使用 Yarn 升级所有范围内的软件包?

    是否可以升级我的依赖项部分中的所有特定范围的包package json通过使用 Yarn 包管理器 例如 yarn upgrade scope 这将升级所有范围内的包yarn lock and package json file https
  • 纱线错误:没有场景;必须至少有一个

    我尝试安装Yarn https yarnpkg com lang en 当我使用yarn我得到的命令 00h00m00s 0 0 ERROR There are no scenarios must have at least one my
  • 使用 Process、RegistryKey 将 .NET Framework 代码移植到 .NET Standard

    我有一个来自现有 NET Framework 项目的方法 该方法从注册表获取 Windows 中默认浏览器的路径 并使用Process call string browser RegistryKey regKey null try regK
  • 纱线安装命令时出现 ESOCKETTIMEDOUT 错误

    我在使用纱线时遇到了麻烦 但仅限于一台计算机 当我跑步时yarn install有些软件包无法下载 并且出现此错误 ESOCKETTIMEDOUT 起初我只是认为存储库存在一些问题 但是 我可以通过网络浏览器下载该包 我在另一台电脑上没有任
  • 部署到 Heroku 失败。移动文件与节点版本不兼容

    我正在努力将新的 Rails 6 应用程序部署到 Heroku 它在我本地运行良好 在部署过程中 我收到以下输出 不幸的是 我对 webpack 和 Yarn 还很陌生 这似乎是 move file 的版本 依赖关系问题 而 move fi
  • 如何通过IP地址列出网络计算机上所有已安装的软件?

    我想知道如何获取网络计算机上安装的软件列表 我能够获取本地计算机上安装的软件列表 但不确定如何提取网络内计算机上已安装软件的详细信息 我使用服务器名称或网络计算机的 IP 地址作为唯一的输入 下面是从本地计算机获取已安装软件的详细信息的代码
  • 注册表观察程序 C#

    我是 WMI 的新手 我需要实施注册表值更改事件 http msdn microsoft com en us library aa393042 VS 85 aspx在 C 服务中 我需要一个事件处理程序 每次更改一组注册表值中的任何一个值时
  • 远程注册

    我知道关于远程注册表访问已经讨论过几次 但我找不到任何关于如何实现这一点的好例子 我确实找到了http www codeproject com KB cs cpimpersonation1 aspx http www codeproject
  • 使用 powershell 从多台计算机中提取注册表值

    我和一位同事正在尝试创建一个 powershell 脚本 该脚本使用一个 CSV 文件 其中包含公司网络上所有计算机的名称 并使用这些名称连接到远程注册表并提取特定值 这是我们目前所拥有的 strMachineName import csv
  • 在 C++ 中从 HKEY 句柄确定注册表项的路径

    给定 Windows 注册表项的句柄 例如由 RegOpenKeyEx 设置的句柄 是否可以确定该注册表项的完整路径 我意识到在一个简单的应用程序中 您所要做的就是查找 5 或 10 行并阅读 但是在像我正在调试的复杂应用程序中 我感兴趣的
  • 读取所有注册表值的快速方法

    我正在编写一个实用程序 需要创建 HKCR 中所有注册表值的列表 我使用递归函数来执行此操作 var list new Dictionary
  • 在 C# 应用程序中写入注册表

    我正在尝试使用我的 C 应用程序写入注册表 我正在使用这里给出的答案 使用 C 将值写入注册表 https stackoverflow com questions 1660870 writing values to the registry
  • Python - 检查用户是否具有管理员权限

    我正在用 Python 3 x 编写一个小程序作为自学项目 我的想法是让程序允许用户输入两个文本字段 然后将用户的输入插入到两个特定注册表项的值中 有没有一种简单的方法来检查当前用户是否可以访问注册表 我宁愿它清楚地告诉用户他 她需要管理员
  • 设置 npm 注册表 URL 的用户名和密码

    我正在尝试使用 npm 从 url 安装软件包 http 主机 80 http host 80 我做了以下事情 npm 配置设置 strict ssl false npm 配置设置注册表 npm 代理http 主机 端口 http host
  • 如何仅在驱动器 C:\ 上向 Shell 菜单添加条目?

    我需要向 Windows 中的资源管理器外壳添加一个上下文菜单项 通过添加一些注册表条目 这很容易做到 HKEY CLASSES ROOT Drive shell Disk cleanup command cleanmgr exe 但我喜欢
  • 如何使用 powershell 以编程方式查找用户 HKEY_USERS 注册表项?

    我想知道如果您知道本地计算机上该用户的登录名 是否有办法在 HKEY USERS 中找到该用户的注册表项 我想以编程方式将内容添加到特定用户的注册表项 例如自动运行 但我只知道用户名 如何确定 HKEY USERS 中的哪些神秘用户实际上属
  • 如何从注册表获取重定向字符串?

    我正在使用从注册表中读取一些值Registry http msdn microsoft com en us library microsoft win32 registry 28v vs 110 29 aspx 我需要访问使用的一些值注册表
  • Windows 注册表中的 DefaultConnectionSettings 值的格式是什么?

    Windows 注册表项 HKCU Software Microsoft Windows CurrentVersion Internet Settings Connections 包含一个名为的二进制值DefaultConnectionSe

随机推荐

  • 在 eclipse RCP 中安装新插件/功能后,是否有任何方法可以自动从磁盘中清除旧插件/功能?

    我正在构建一个 RCP 应用程序 每个季度都会更新功能 插件 因此 如果用户选择自动更新功能 插件 则将下载更新插件的新 jar 但旧插件仍在使用我不再使用的磁盘空间 我厌倦了删除包含旧 jar 信息的安装历史记录 当我尝试删除它时 它向我
  • 我们什么时候应该使用 RxJS tap 运算符?

    我不明白从the docs https rxjs dev firebaseapp com api operators tap 有人能给我解释一下吗 大多数操作符都按流顺序工作 例如 source pipe map a string gt c
  • 如何将支持的操作系统添加到 Windows 单击一次应用程序清单中?

    我正在尝试将supportedOS标签添加到单击一次应用程序清单中 对于常规应用程序执行此操作的常用方法是将 app manifest 文件添加到包含supportedOS 标记的项目中 如下所示 我删除了自动生成的单击一次清单中已包含的所
  • 在 Swift 中将两字节 UInt8 数组转换为 UInt16

    使用 Swift 我想将 uint8 t 数组中的字节转换为整数 C 示例 char bytes 2 0x01 0x02 NSData data NSData dataWithBytes bytes length 2 NSLog data
  • Vue.js 从 webpack 包中排除文件夹

    我陷入了一个关于 webpack 的非常简单的问题 我有一个使用 vue cli 创建的简单 Vue js 应用程序 我创建了文件夹public Reports我想从捆绑包中排除它 该文件夹包含子文件夹和 PDF 我的项目结构是标准的 di
  • 从边框外部绝对定位

    当我将元素绝对定位在相对元素内时 坐标是从容器的边缘计算的 而不考虑边框 相当于从边框的内侧定位 除了从边框的外侧定位元素之外 还有什么方法可以定位元素吗 例如 如果我有一个没有边框的红色方块 如第一个 则文本会粘在容器的左上角 因为它有t
  • PHP PHAR 归档的优点

    PHP 5 3 有一个新功能称为PHAR如同JAR在JAVA中 它基本上是 PHP 文件的存档 它的优点是什么 我不明白它们在网络场景中有何帮助 除 易于部署 之外的任何其他用途 只需复制一个文件即可部署整个应用程序 开源项目有巨大的好处
  • 从 JavaScript 字符串中去除 U+10000-U+10FFFF

    Tried string replace u10000 u10FFFF g 但可悲的是 u不支持10000 要指定超出 U FFFF 的代码点 您需要查找UTF 16 代理对 https en wikipedia org wiki UTF
  • 放大黑线的阈值

    给定一张图像 如下图所示 我需要将其转换为二进制图像 仅限黑白像素 这听起来很简单 我尝试过两个阈值函数 问题是我无法使用这些函数中的任何一个来获得完美的边缘 任何帮助将不胜感激 我尝试过的过滤器是 RGB 和 HSV 空间中的欧几里得距离
  • 在 C++ 中写入相同值的竞争条件?

    当操作写入单个常量值时 代码中存在竞争条件是否存在任何问题 例如 如果有一个并行循环填充了seen另一个数组中的每个值的数组arr 假设索引越界没有问题 关键部分可能是以下代码 parallel body with index i int
  • mongodb查询嵌套结构

    如何查询此嵌套 json 结构以查找包含 A 的文档 categories id 12 values A B C id 17 values D E F 到目前为止 我只能通过以下方式获取 id 值 db coll find categori
  • 有没有办法专注于 Angular 4/Ionic 3 上动态创建的表单?

    I have a page with dynamically created forms like this The blank spaces are inputs and the entire row is a button Is the
  • 如何在H2中创建新数据库?

    我有一个在 MySQL 上本地运行的站点 我想在 H2 数据库上运行它 我刚刚在浏览器上运行了控制台的 h2 jar 文件 但每当我登录时我都会看到该列表jdbc h2 var www mysite data db MODE MySQL i
  • Kubernetes 上的 Npgsql 和 Pgbouncer - 池化和 keepalives

    我正在寻找更详细的指导 其他人在 Pgbouncer 的生产中使用 Npgsql 的经验 基本上 我们使用 GKE 和 Google Cloud SQL 进行了以下设置 现在 我已经使用本地连接池配置了 npgsql 就好像 pgbounc
  • 如何使用 CSS 并排浮动 3 个 div?

    我知道如何让 2 个 div 并排浮动 只需将一个向左浮动 另一个向右浮动即可 但是如何使用 3 个 div 来做到这一点 或者我应该仅使用表格来实现此目的 只需给它们一个宽度并float left 这是一个例子 div style wid
  • 有没有办法限制ggplot2中的vline长度

    我试图使用 ggplot vline 和 hline 在线图上显示截距 但希望线条在图上的截距点处停止 在 ggplot 中这可能吗还是有其他解决方案 library ggplot2 pshare lt data frame for i i
  • 如何在 C# 中将复杂对象作为结构进行比较以进行单元测试

    我遇到了以下问题 目前我正在使用 TDD 重构我的项目 有一个已存在的域 我无法更改 代码示例 public class Product IEquatable
  • 使用带有 AutoGenerateColumns="True" 的 DataGrid 时,为什么会忽略 DataAnnotations

    我正在使用 WPF DataGrid 绑定到自定义类的集合 在网格 XAML 中使用 AutoGenerateColumns True 可以很好地创建和填充网格 但正如人们所期望的那样 标题是属性名称 我尝试指定
  • 从父类调用setup_data

    背景 我正在阅读关于如何将自我调整文本放入栏中的优秀答案 条内可调整大小的文本块 https stackoverflow com questions 36319229 ggplot2 geom text resize with the pl
  • 使用 Yarn 从 Github 包注册表安装私有包失败且未授权

    这个问题与这些有关 但这些解决方案都不适合我 Yarn 找不到私有 Github npm 注册表 https stackoverflow com questions 58316109 yarn cant find private githu