bower / npm如何知道项目所在的github用户

时间:2015-11-25 01:16:42

标签: node.js github

当我们都运行bower install angularjsnpm install ionic时,这些工具(bower和npm)如何知道项目所在的用户(例如离子位于driftyco/ionic)。

此外,如果多个项目具有相同的名称,哪个项目优先?

2 个答案:

答案 0 :(得分:2)

每个可用的包管理器都存在不同的包存储库。每当您按名称引用包时,该工具都会查询其中一个存储库,询问在哪里可以找到必须下载的实际代码才能使其正常工作。

对于鲍尔来说,有bower registry。对于npm,有npm registry。之类的。

当您仅指定包名称时,该工具会向其注册表询问数据。如果您指定名称和GitHub仓库,那么它将转到该仓库以获取代码,并将其标记为满足package-name依赖关系。

注册表知道在哪里找到代码,因为软件包作者在发布软件包时注册了所有这些信息。

npm defaults its registry,但您可以scope your dependencies使用自定义注册表。

Ruby包管理器

gem要求您指定要使用的注册表 - 大多数情况下,只需指定Rubygems。

但他们都知道以某种方式查询以获取相关数据。

答案 1 :(得分:0)

当谈到社区提交的软件包时,Bower和NPM是不可知的。开发人员最终要确认您合并到软件中的任何NPM和Bower软件包都是正确的实例。

最好的方法是在安装之前在各自的Bower和NPM站点搜索和查看包。在那里你可以引用GIT url并确认它是正确的包,或者在继续之前确认它。