从URL安装与Bower的依赖关系并指定版本

我正尝试使用URL安装与Bower的依赖关系。 截至鲍尔文件:

Bower提供了几种安装软件包的方法:

# Using the dependencies listed in the current directory's bower.json bower install # Using a local or remote package bower install <package> # Using a specific version of a package bower install <package>#<version> # Using a different name and a specific version of a package bower install <name>=<package>#<version> 

其中<package>可以是以下任何一个:

  • 映射到在Bower中注册的包的名称,例如jquery。
  • 远程Git端点,例如, git://github.com/someone/some-package.git 。 可以是公共或私人的。
  • 本地端点,即Git存储库的文件夹。
  • 速记端点,例如someone/some-package (默认为GitHub)。
  • 指向文件的URL,包括zip和tar文件。 其内容将被提取。

但是,它说,除了URL的所有types允许指定一个版本。

如何为URL下载的依赖项指定一个版本?

使用git端点而不是包名:

 bower install https://github.com/jquery/jquery.git#2.0.3 

如果您使用bower.json文件来指定您的依赖关系:

 { "dependencies": { ... "photo-swipe": "git@github.com:dimsemenov/PhotoSwipe.git#v3.0.x", #bower 1.4 (tested with that version) can read repositorios with uri format "photo-swipe": "git://github.com/dimsemenov/PhotoSwipe.git#v3.0.x", } } 

只要记得鲍尔也search发布的版本和标签,所以你可以指向几乎所有的东西,并可以interprate像前面的例子基本的查询模式。 这将获取3.0版本的最新小的更新(从鲍尔1.3.5testing)

更新 ,因为问题描述还提到只使用一个URL,并没有提到一个github仓库。

另一个例子是使用所需的url执行这个命令,如:

 bower install gmap3MarkerWithLabel=http://google-maps-utility-library-v3.googlecode.com/svn/tags/markerwithlabel/1.0/src/markerwithlabel.js -S 

该命令下载你的js库放入{你的目的地path} /gmap3MarkerWithLabel/index.js并自动在你的bower.json文件中创build一个名为gmap3MarkerWithLabel的条目:“…”之后,只有在需要时才能执行bower update gmap3MarkerWithLabel

有趣的事情,如果你做的进程回来(手动添加bower.json,然后bower安装entryName条目)它不起作用,你会得到一个

bower ENOTFOUND包找不到gmapV3MarkerWithLabel

针对特定的提交

远程(github)

在使用github时,请注意,您也可以通过将其提交哈希附加到其克隆url的末尾来针对特定的提交(例如,您创build和更新的某个分支)。 例如:

 "dependencies": { "example": "https://github.com/owner_name/repo_name.git#9203e6166b343d7d8b3bb638775b41fe5de3524c" } 

本地(文件系统)

或者,如果您使用项目的.git目录(如在Windows上,请注意正斜杠),则可以在本地文件系统中定位git commit:

 "dependencies": { "example": "file://C:/Projects/my-project/.git#9203e6166b343d7d8b3bb638775b41fe5de3524c" } 

这是testing您在本地提交但尚未推送到回购库的代码库的一种方法。

使用以下内容:

 bower install --save git://github.com/USER/REPOS_NAME.git 

更多在这里: http : //bower.io/#getting-started

只要指定uri端点为我工作 ,凉亭1.3.9

  "dependencies": { "jquery.cookie": "latest", "everestjs": "http://www.everestjs.net/static/st.v2.js" } 

运行bower install ,我收到以下输出:

 bower new version for http://www.everestjs.net/static/st.v2.js#* bower resolve http://www.everestjs.net/static/st.v2.js#* bower download http://www.everestjs.net/static/st.v2.js 

你也可以尝试更新凉亭

  • npm update -g bower

根据文档 :支持以下types的URL:

 http://example.com/script.js http://example.com/style.css http://example.com/package.zip (contents will be extracted) http://example.com/package.tar (contents will be extracted) 

只是一个更新。

现在,如果它是一个github版本库,那么只要使用github简写就足够了,如果你不介意的话。

GitHub的简写

 $ bower install desandro/masonry 

我相信指定版本只适用于git-endpoints。 而不是为文件夹/邮编。 正如当你指出凉亭到一个JS文件/文件夹/ ZIP你已经指定包版本(除了JS确实)。 因为一个包里面有版本的bower.json。 当你指向一个可以有多个版本的软件包的版本库时,在“bower install”中指定一个版本是有意义的。 这只能是我想的git。

这里有一个简单的方法来通过bower.json从GitHub安装特定的标签或提交。

 { "dependencies": { "your-library-name": "<GITHUB-USERNAME>/<REPOSITORY-NAME>#<TAG-OR-COMMIT>" } } 

例如:

 { "dependencies": { "custom-jquery": "jquery/jquery#2.0.3" } } 

尝试bower install git://github.com/urin/jquery.balloon.js.git#1.0.3 --save其中1.0.3是您可以通过阅读标签下释放获得的标签号码。 也可以通过git://replaceURL以便系统连接。

从git安装包并保存到您的bower.json依赖块。

  1. bower register package-name git-endpoint#version
  2. install package-name --save

--save会将包名称版本保存在依赖块内的bower.json文件中)。

参考