>前端近几年出了很多搞不懂的东西,逼格一下子高了许多。
作为一个 Node.js 服务器端工程师,表示 NPM 并不仅是前端在使用,比如 left-pad 这个包和浏览器并没有直接关系。
>PHP 的包管理是加载到项目目录运行的,这个是每次从线上加载?
PHP 的包难道不是从仓库下载的么?如果作者把包从 packagist (不太理解 packagist 是否允许撤下已发布的包)或 GitHub 上撤下也是一样的。
>民心已失。我猜很快会有一个新的完全开放的平台出来。
我个人认为只是 @
azer 太矫情了而已, NPM 对于解决包名纠纷有很明确的规则(
https://docs.npmjs.com/misc/disputes ),这是一次很透明的操作。如果对方持有商标,我相信在大部分平台都是可以拿到对应的名字的。
>npm 目前的机制基本无法处理这次危机,超过 250 个项目被移除,其他依赖项目不仅需要寻找替代品,还要防范其他人伪造同名库。
一方面可以修改 unpublish 包的规则(满足特定规则才可以 unpublish 已发布的版本),如果作者的包使用一个自由软件许可证发布的话,从法律上来说,不允许删除也是完全可行的。另一方面可以继续推 Scoped packages (
https://docs.npmjs.com/misc/scope ),像 GitHub 一样以自己的用户名为前缀,虽然用户名可能也有纠纷,但应该会比包名的纠纷少一点。