从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依赖块。
-
bower register package-name git-endpoint#version
-
install package-name --save
( --save
会将包名称版本保存在依赖块内的bower.json文件中)。
参考