我最近感到困惑,几乎通过brew install
安装了一个工具,而实际上它是一个 npm 包,我需要做的就是npm install -g
。
因此,这些工具出奇地相似,但又明显不同。
水晶净度有什么区别?
NPM 的存在是为了在每个应用程序的基础上解析应用程序代码的依赖关系,从而允许应用程序自包含和可移植。 这意味着(在其默认操作模式下(它将为系统上需要相同软件包的每个应用程序多次、唯一、重复和单独安装相同的东西,在该应用程序自己的目录中,并与其他所有内容隔离。
自制软件不是这样的。 原因是它服务于系统本身,而不是单个应用程序,因此更类似于 npm 的npm -g
部分。
不过,关于自制软件还有一点需要了解 - 一些系统包具有特定的依赖项,甚至可能存在冲突。这意味着对于自制软件提供的全局安装,它还必须解决一些嵌套和冲突问题。 这是一种魔法?