将 NPM 包发布到 Azure Artifacts 但在安装时出现此错误

Published a NPM package to Azure Artifacts but getting this error while installing

F:\angular library\sampleangular>npm install examplepackage@0.0.1 错误!代码 E404 错误! 404 未找到 - GET https://registry.npmjs.org/examplepackage- 未找到 错误! 404 错误! 404 'examplepackage@0.0.1' 不在 npm 注册表中。 错误! 404 You should bug the author to publish it (or use the name yourself!) 错误! 404 错误! 404 请注意,您也可以从 错误! 404 tarball、文件夹、http url 或 git url.

npm 错误!此 运行 的完整日志可在以下位置找到: 错误! C:\Users\jack\AppData\Roaming\npm-cache_logs20-03-03T06_07_13_338Z-debug.log

经过一些测试,我们认为您的问题可能与 Azure devops 源设置中的 UpStream 源有关。

这是我做测试时的一些信息:

nest 是来自默认 npm 包的包。当我删除 npm 上游源代码时,我在 运行 命令 npm install nest 时遇到了同样的错误。之后,我将 NPM public source(npmjs) 添加为提要设置中的一个上游源,然后当我第二次 运行 命令时它起作用了。

因此您需要添加 npmjs 作为您当前 Feed 的上游来源。希望对您有所帮助:)

我们有同样的错误 (E404)。原来的根本原因是因为我们有多个注册表源。一个是我们自己的注册表,另一个是 public 注册表 (registry.npmjs.org)

为了解决这个问题,我们在 .npmrc 文件中添加了两个注册表(可以在用户的​​ .npmrc 或项目 .npmrc 中)。

我们在 .npmrc 文件中附加以下行。

@contosoPrivateFeed:registry=https://contoso.pkgs.visualstudio.com/_packaging/Contoso.Feed/npm/registry/
registry=https://registry.npmjs.org

另外值得一提的是,我们的 Azure DevOps 源中没有上游设置。 指定多个注册表允许 npm 命令使用注册表。因此,无需设置上游源。