NPM 撤包记

话还要从半年前说起,那时的我年少无知,心比天高,初学 Node.js,便开了一个大坑——在 NPM 上创建了一个名字极其中二的 package。“反正可以随时 unpublish”当时的我十分 naive 的想到。

直到今天,我才发现我根本无力填完这个天大的坑,于是我决定 unpublish 这个包。然而事与愿违,在我输入 npm unpublish <pkg> 时,服务器并不想和我说话并扔给了我一个 400 Error。在网上查找了一番,才发现了这么一个大新闻:开发者对 npm 公司不满,unpublish 了自己的所有模块。不得已,我只能走上了艰难申诉之路。

首先,我用我蹩脚的英语给 NPM Support 发了一封电子邮件。为了避免尴尬,我假装对“撤包事件”一无所知。
我给 NPM 发的第一封电子邮件
我不太清楚 NPM 公司的作息时间,过来好久,当我以为我的邮件已经石沉大海时,他们终于回复了。美女客服很直接,问了我撤包的原因。
等了好久 NPM 终于给出了回复
可是当时我正在为期末考试进行准备,没空回复这封电子邮件。直到放假那天,NPM 开始催促我。
NPM 等不及了
那句“What steps to take”吓了我一跳,这么久不回复,我不会进 NPM 的黑名单吧!我赶紧进行了回复。可笑的是,我背了半天的英语作文套路,考试没考到,却在这里用上了。
高中生英语作文一样的回信
终于,我拿出我学过的各种语法东拼西凑,凑出了这封信。大意是:这是一个空包,别人看见会让我很尴尬;这不是一个好名字,代表着厄运(欺负他们不懂中国文化?);这个包名在我国也是一个注册商标。
最后一个原因是我编出来的,既然 NPM 公司对商标侵权那么敏感,我就故意提出来,方便撤包。
果然,给出了原因,NPM 公司还是很爽快的。为了安全起见,他们还要我再次确认。
要求确认
确认?怎么确认?我摸着脑瓜想了半天,揣测着什么是“确认”到底指什么。抱着试试看的心理,我发了一封“确认电子邮件”。
确认电子邮件
发完邮件,我便去睡觉了。第二天清晨,当我打开手机,查看电子邮件,终于长吁了一口气。撤包成功!
撤包成功
原来与外国人沟通也并不是那么难啊。这件事也给我一个教训:不要好高骛远,随便挖坑;项目起名一定不能中二!不能中二!不能中二!(重说三)