【问题标题】:npm publish failed with Package name triggered spam detectionnpm 发布失败,包名触发垃圾邮件检测
【发布时间】:2018-02-07 16:12:37
【问题描述】:

当我 npm 发布我的包时,我得到:

403 包名触发垃圾邮件检测

这是什么?如何不触发垃圾邮件检测?指南在哪里?

我的包名是node-template-2018,但显然我必须重命名它

【问题讨论】:

  • 有趣的是,它似乎已经被添加到注册表 npmjs.com/package/node-template-18 但为空
  • 也有不同的名字。 编辑哦,好像是the name change was intentional
  • 我会open an issue
  • 这纯属猜测,只是一般性建议,但我会避免名称中的数字,除非它指的是像 ES2017 这样的官方规范。
  • 我可以确认我能够通过从包名称中删除数字来避免该消息。

标签: node.js npm


【解决方案1】:

他们试图阻止“拼写错误”和可能与现有软件包混淆的新名称。由于有一个“节点模板”包,因此添加破折号和年份(“2017”、“2018”)会因被阻止而得分很高。我认为 node-template-18 的得分也会很高,但是使用任何现有的带有破折号和最近年份的名称似乎几乎肯定会被阻止。

以下是 NPM 发布的一篇关于他们为何将某些名称作为垃圾邮件屏蔽的帖子: https://blog.npmjs.org/post/163723642530/crossenv-malware-on-the-npm-registry?_ga=2.194615085.1031845233.1547144890-1639781483.1547144890

据此,他们使用 Smyte 进行垃圾邮件检测。 Smyte 在宣布被 Twitter (see NPM's reaction!) 收购后 30 分钟就关闭了他们的 API,所以他们现在可能正在使用其他东西。

我没有看到任何关于他们如何确定要阻止的具体内容,但根据上面的 cmets 和我自己的经验,任何现有的包名称加上破折号和数字似乎都是可疑的。确切的触发被屏蔽的原因并不是他们可能会分享的内容(并且可能会随着时间的推移而改变)。

【讨论】:

    【解决方案2】:

    只需重命名 package.json 中的包即可。一直执行到它工作为止。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    • 2015-03-27
    • 2011-01-11
    • 2018-06-21
    • 2021-09-14
    • 1970-01-01
    • 2011-07-21
    相关资源
    最近更新 更多