• 包管理器的需求
    • 低硬盘占用:程序员会主业搞1到2个主要维护的项目,然后经常因为实验性目的创建很多库。

安装到全局还是项目文件夹

pip安装到了全局,npm安装到项目里,pnpm满足了npm的文件系统接口,把相同的文件链接到同一个文件上节省硬盘空间。
pip安装到全局环境创造了很多虚拟环境的需求。
node也没有解决全部问题,项目对node版本可能也是有一个要求的。

要不要自动把依赖树里的名字和版本记录下来

pip完全不记录,可以手动打印一次到.txt里面分享,这个文件一股脑把间接依赖也混着打印出来了。
npm某次更新后默认自动记录了直接依赖的名字,后面还更新了一次保存所有简介依赖的版本和哈希值。

中心registry的项目名字前面要不要组织名字

java语言上建议命名空间用域名倒置来起头。
pip、npm、cargo都选择了共享一个命名空间。
导致一个现象rust第一次公开流行的时候,很多名字被一些玩了几天就放弃了的开发者占据了,reqwest库现在得取一个拼写错误的名字。cargo项目组还在犟说这样做没有错。
docker hub有个补救方案是,以后的库都在用户的namespace下,被官方认可的库可以放到全局的namespace下,就是下划线,命令行输入时省略。