首页 > 解决方案 > 如何仅对我们的范围包使用 github 包注册表,从标准 npm 获取其余部分?

问题描述

我们正在尝试使用 Github 包注册表来发布我们的私有组织包,它们可以工作/那一点很好。

但是,当我们尝试从 github 注册表以及官方 npm 注册表中的其他作用域 npm 模块在我们的项目中安装/使用它们时,它会抛出如下内容:

error Couldn't find package "@azure/identity" on the "npm" registry.

我会假设这不是所需的行为,因为我无法想象您会希望人们在“A 或 B”类型的场景中使用没有 npm 作为上游的 github 包注册表。不能同时使用来自 NPM 和 GPR 的依赖是没有意义的。

我的 npmrc/yarnrc:

registry=https://npm.pkg.github.com/ORG_NAME

或者

registry=https://npm.pkg.github.com/

详细输出表明它确实试图从 github 获取它。

标签: githubnpmgithub-package-registry

解决方案


您可以在.npmrc文件中定义 npm 应该使用哪个存储库的范围。

@myscope:registry=https://npm.pkg.github.com

对于其他一切

registry=https://registry.npmjs.org/

您的.npmrc文件应如下所示:

@myscope:registry=https://npm.pkg.github.com
registry=https://registry.npmjs.org/

推荐阅读