有人可以向我解释 NPMBowerComposer 之间的区别。

他们都是包管理器 - 对吗?

但是什么时候应该使用每一种呢?

此外,每个似乎都有一个伴随它的 json 文件,这是否存储了您需要的所有软件包,以便它们可以通过 cmd 行安装?为什么需要这个文件?

最佳答案

npm 是 nodejs 包管理器。因此,它针对的是 nodejs 环境,这通常意味着服务器端 nodejs 项目或命令行项目(bower 本身是一个 npm 包)。如果您打算使用 nodejs 做任何事情,那么您将使用 npm。
bower 是一个针对(前端)Web 项目的包管理器。您需要 npm 和 nodejs 来安装 bower 并执行它,尽管 bower 包并不是专门用于 nodejs,而是用于“浏览器”环境。
composer 是一个针对 php 项目的依赖管理器。如果你正在用 symfony(或普通的旧 php)做一些事情,这可能是要走的路

总结一下:

  • 做节点?你做 npm
  • 做php?尝试 Composer
  • 前端javascript?尝试 bower

  • 是的,“json”文件描述了基本的包信息和依赖项。是的,他们是需要的。

    现在,自述文件呢? :-)
  • https://github.com/bower/bower
  • https://www.npmjs.org/doc/cli/npm.html
  • https://getcomposer.org/doc/00-intro.md

  • [更新,四年后]
  • bower 已弃用,不应再用于新项目。在很大程度上,它已被归入节点依赖管理(来自他们的网站:“在维护 Bower 的同时,我们建议在前端项目中使用 Yarn 和 Webpack 或 Parcel”)。
  • yarn 作为更好的 npm(修复了 npm 中的几个缺陷)从木头中出来了它确实使用与 npm 相同的 package.json,并且几乎完全兼容。
  • 此时我不会使用 composer(因为我不会使用 php ),尽管它似乎仍然存在且流行 0x29191221423341

    关于NPM/Bower/Composer - 差异?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22918517/

  • 10-16 21:11