有人可以向我解释 NPM
、Bower
和 Composer
之间的区别吗?
他们都是包管理器——对吗?
但是什么时候应该使用每一个?
此外,每个似乎都有一个随附的 json 文件,这是否存储了您需要的所有软件包,以便可以通过 cmd 行安装它们?为什么需要这个文件?
[更新,四年后]
bower 已弃用,不应再用于新项目。在很大程度上,它已被纳入节点依赖管理(来自他们的网站:“在维护 Bower 的同时,我们建议将 Yarn 和 Webpack 或 Parcel 用于前端项目”)。
yarn 作为一个更好的 npm 脱颖而出(修复了几个 npm 缺陷),这确实是您现在应该使用的,因为如果您正在进行前端或节点开发,它是新的事实标准。它确实使用与 npm 相同的 package.json,并且几乎完全兼容。
在这一点上我不会使用 composer(因为我不会使用 php),尽管它似乎仍然存在并且很受欢迎
[原答案]
npm
是 nodejs 包管理器。因此它以 nodejs 环境为目标,这通常意味着服务器端 nodejs 项目或命令行项目(bower 本身是一个 npm 包)。如果你打算用 nodejs 做任何事情,那么你将使用 npm。
bower
是针对(前端)网络项目的包管理器。您需要 npm 和 nodejs 来安装 bower 并执行它,尽管 bower 包并不是专门用于 nodejs,而是用于“浏览器”环境。
composer
是一个针对 php 项目的依赖项管理器。如果您正在使用 symfony(或普通的旧 php)做某事,这可能是要走的路
总结一下:
做节点?你做 npm
做php?尝试作曲家
前端JavaScript?试试凉亭
是的,“json”文件描述了基本的包信息和依赖关系。是的,它们是必需的。
现在,自述文件呢? :-)
https://github.com/bower/bower
https://www.npmjs.org/doc/cli/npm.html
https://getcomposer.org/doc/00-intro.md
不定期副业成功案例分享