我以为我可以使用
.npmrc
表示 v1 或 .yarnrc.yml
表示 v2/3/4,但在所有情况下,Yarn 甚至不会尝试向 Github 进行身份验证
nodeLinker: node-modules
npmScopes:
packagescope:
npmAlwaysAuth: true
npmAuthToken: my_personal_access_token
npmRegistryServer: "https://npm.pkg.github.com"
yarnPath: .yarn/releases/yarn-3.6.2.cjs
它的错误是:
错误命令失败。
退出代码:128
命令:git
参数: ls-remote --tags --heads https://github.com/user/some-dependency.git
目录:/home/me/Documents/projects/myapp
输出:
致命:无法读取“https://github.com”的用户名:终端提示已禁用
当我访问 github.com 时,我发现访问令牌从未被使用过,所以显然从未尝试过身份验证。
如何使用访问令牌安装存储库而不将其硬编码到 package.json 中?当我将它们硬编码到 package.json 中时,它工作得很好,但这是糟糕的安全实践,可能会破坏
git bisect
并有其他缺点。
我不能简单地使用 SSH,因为我需要它与第三方拥有的 CI 服务器一起工作,并且我不想放弃对我们所有存储库的无限制访问。
您可以将 GitHub 细粒度访问令牌与 EAS 秘密文件结合使用。