Mic*_*ski 42 github npm npm-install npm-login
我刚刚在 GitHub 上发布了一个私有包,试图弄清楚它应该如何工作。现在我正在尝试将它安装在另一个项目中。我使用npm login --registry=https://npm.pkg.github.com具有write:packages,read:packages和repo权限的访问令牌进行了身份验证。在尝试运行时,npm install https://npm.pkg.github.com/@orgname/package-name我收到一条错误消息:
npm ERR! code E401
npm ERR! Unable to authenticate, need: Basic realm="GitHub Package Registry"
Run Code Online (Sandbox Code Playgroud)
如何添加/获得此权限?
br3*_*3w5 57
除了在 npm 配置中设置注册表之外,您还需要在 Github 上生成个人访问令牌并将其添加到您的 npm 配置中:
https://github.com/settings/tokens(设置 > 开发人员设置 > 个人访问令牌),您应该会看到如下内容:Generate new tokenread:packages单击Generate token并复制令牌
将以下内容添加到您的本地.npmrc:
@${OWNER}:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${TOKEN}
Run Code Online (Sandbox Code Playgroud)
查看相关的Github Packages 文档
相关:对于 Github 操作,请注意
GITHUB_TOKEN个人访问令牌和个人访问令牌之间的区别。Github 令牌的权限仅限于包含您的工作流的存储库。对于其他任何事情(包括 Github 令牌允许的细化权限),您需要一个个人访问令牌。
Mic*_*ski 19
显然我是个白痴,无法阅读文档并错过了那部分:
在与您的
package.json文件相同的目录中,创建或编辑.npmrc文件以包含指定 GitHub 包 URL 和帐户所有者的行。将 OWNER 替换为拥有包含您的项目的存储库的用户或组织帐户的名称。
registry=https://npm.pkg.github.com/OWNER
另一件需要检查的事情(这花了我一段时间才意识到):
我收到指定的错误:
npm ERR! code E401
npm ERR! Unable to authenticate, need: Basic realm="GitHub Package Registry"
Run Code Online (Sandbox Code Playgroud)
尽管我认为我正确地提供了具有所需权限的 GITHUB TOKEN。
我已经设置了 github 操作来设置NODE_AUTH_TOKEN名为 的组织秘密GPR_PRIVATE_READ_TOKEN,该秘密在另一个存储库中工作。
事实证明,问题在于该秘密被定义为仅适用于私有存储库,而我试图在公共存储库中使用它。当我将这个秘密提供给公共存储库时,一切都正常了。
我的工作流程作业如下所示(我显示了安装步骤之前的所有步骤,以防有人看到有帮助):
npm ERR! code E401
npm ERR! Unable to authenticate, need: Basic realm="GitHub Package Registry"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28067 次 |
| 最近记录: |