如何使用Bower安装回购的最新(未标记)状态?


163

我有一个非常小的回购协议中,我做了主分支和使用的标签,在历史上“稳定”点的所有开发工作。

我猜默认情况下,鲍尔似乎会获取回购的最新标签版本。我正在尝试在master分支中获取最新的提交。

我尝试过以所有可能的顺序运行所有这些命令:

bower cache-clean mypackage
bower install mypackage --force-latest
bower install mypackage --force --force-latest
bower install mypackage --force

我也尝试添加latest到我的bower.json文件中:

"dependencies": {
  "mypackage": "latest"
}

然后运行:

bower update mypackage

不管看起来总是获得最新的标记状态。

如何获得项目的最新,最新,无标签状态?


Answers:


220

指定git commit SHA而不是版本:

bower install '<git-url>#<git-commit-sha>'

例:

bower install 'git://github.com/yeoman/stringify-object.git#d2895fb97d'

您也可以指定分支而不是SHA,但是通常不建议这样做,除非它在开发中并且您可以控制所有部分。


1
是的,我昨晚阅读了所有关于GH问题跟踪器中所有内容的讨论,并安装了bower#0.9.3-rc0。您是正确的先生。谢谢!
约翰尼

32
现在,您还可以使用<git-url>#<branch-name>而不是添加SHA-ID。因此,您还可以<git-url>#master用来跟踪master分支。
MKroehnert

3
不过,这似乎不适用于我的私有存储库。我正在尝试指定提交ID。它返回错误“致命:引用不是树:”。看起来它正在尝试在容器的git repo中查找修订。
Nilesh 2014年

1
我很致命:引用也不是一棵树。很烦人。
Seiyria

如果已经有新版本,如何在package.json中强制安装旧版本?
SuperUberDuper

112

是的,您可以指向git url,或使用name / repo的简写形式(对于github repos):

bower.json

{
  "name": "bower-test",
  "dependencies": {
    "dpm": "git@github.com:okfn/dpm.git",
    "docker-nmpjs": "terinjokes/docker-npmjs"
  }
}

文档中的更多内容

正如@roi在注释中指出的那样,您可以使用该--save标志将依赖项自动添加到bower.json,例如bower install terinjokes/docker-npmjs --save


1
并可能选择一个版本吗?
Tjorriemorrie 2014年

12
@Tjorriemorrie是的,您可以按照<package>#<revision>.文档中列出的格式进行操作。因此,要在“ master”分支中使用最新版本的jQuery,可以这样做:git@github.com:jquery/jquery.git#masterjquery/jquery#master简称。
Nick Tomlin 2014年

6
我会说,使用cli可以使您运气更好,并将其放入您的bower.json ..... bower install terinjokes / docker-npmjs --save
Roi

1
我们还可以使用#符号来提及发布/标签,例如xyz-components": "git@github.sample.com:username/reponame.git#0.4.5
Nitin


17

如果您使用的是bower.json文件,则根据项目配置,在依赖项或devDependencies中指定一行的分支的最新版本:

"angular-bootstrap": "git@github.com:angular-ui/bootstrap.git#bootstrap3",

然后,当您运行bower install该分支的最新版本时,将安装该分支。在此示例bootstrap3angular-ui,这将是的分支。


这在本地有效,但在Heroku上将失败。您应该使用git://github.com/angular-ui/bootstrap.git#bootstrap3代替。
Michael Yagudaev

13
bower install --save package-name#master

添加以下内容:

"dependencies": {
  "package-name": "master"
}

10

使用bower.json:

"dependencies": {
    "jquery.slimscroll": "latest",
    "jQuery": "1.11",
    "fullPage.js": "git@github.com:overbyte/fullPage.js.git#1d6bbac3d4c3b1d3d7d4096cdbcabd1c3914393f",
}

哪里

"[library name - in this case a forked version of fullpage.js]" : "[from git clone box in github][#commit number if required - without this you will get latest tagged version]"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.