npm publish的软件包名称与现有软件包太相似

时间:2020-03-13 05:55:58

标签: npm

我想将软件包发布到npm。我得到的错误是:软件包名称与现有软件包太相似

403 Forbidden - PUT https://registry.npmjs.org/mypack.... - Package name too similar to existing packages; try renaming your package to '@user../mypackage...' and publishing with 'npm publish --access=public' instead

但是当我尝试安装时:

npm I mypackage...

我得到未找到的错误:

npm ERR! 404 Not Found - GET https://registry.npmjs.org/mypackage... - Not found

有没有一种方法可以检查名称是否适合npm,而不仅仅是猜测?因为发布后我无法删除该程序包。

1 个答案:

答案 0 :(得分:2)

要检查相似名称,您可以使用validate-name

安装:

$ npm install -g validate-name

使用:

$ validate-npm-name my-module
$ validate-npm-name my-package --max-age 1440

它的作用:

此命令检查 npm 注册表中是否存在相似的名称。

首次使用时,它会下载完整的模块名称列表(在撰写本文时大约 150MB)以检查相似性。后续下载要小得多,因为它只下载自上次下载以来的更新。

我按照@RobC 在 OP 评论中建议的脚本创建了这个模块。它是开源的(MIT)。

如原始脚本中所述,这是尽最大努力,因为 npm 未正式记录相似性规则。