Answers:
npm
是nodejs包管理器。因此,它针对的是nodejs环境,这通常意味着服务器端的nodejs项目或命令行项目(bower本身是npm软件包)。如果您要对nodejs做任何事情,那么您将使用npm。
bower
是一个针对(前端)Web项目的程序包管理器。您需要npm和nodejs来安装bower并执行它,尽管bower软件包并非专门用于nodejs,而是用于“浏览器”环境。
composer
是针对php项目的依赖项管理器。如果您正在使用symfony(或普通的旧php)做某事,这可能是可行的方法
总结一下:
是的,“ json”文件描述了基本的软件包信息和依赖性。是的,它们是必需的。
现在,自述文件如何?:-)
[更新,四年后]
bower
已弃用,不应再用于新项目。在很大程度上,它已包含在节点依赖管理中(从他们的网站:“在维护Bower的同时,我们建议对前端项目使用Yarn和Webpack或Parcel”)。yarn
更好地npm
解决了npm
这个问题(修复了多个缺陷),这确实是您现在应该使用的,因为如果您要进行前端或节点开发,它就是事实上的新标准。它的消耗与package.json
npm 相同,并且几乎完全兼容。composer
(因为我不会使用php
),尽管它似乎仍然很流行并且很流行