bowerを使用してリポジトリの最新(タグなし)状態をインストールする方法


163

私は非常に小さなリポジトリを持っています。そこではすべての開発作業をmasterブランチで行い、タグを履歴の「安定した」ポイントとして使用しています。

デフォルトでは、Bowerは最新のタグ付きバージョンのリポジトリを取得しているようです。masterブランチで最新のコミットを取得しようとしています。

私はこれらすべてを考えられるすべての順序で実行してみました:

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

私もlatestbower.jsonファイルに追加してみました:

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

そして実行:

bower update mypackage

常に最新のタグ付き状態を取得しているように見えます。

プロジェクトの最新のタグなしの状態を取得するにはどうすればよいですか?


1
完全なドキュメントのgithub.com/bower/bower.json-spec
Jaider

回答:


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して、マスターブランチを追跡することもできます。
MKroehnert 2013年

3
これは私のプライベートリポジトリではうまくいかないようです。コミットIDを指定しようとしています。「致命的:参照はツリーではありません:」というエラーを返します。コンテナのgitリポジトリでリビジョンを見つけようとしているようです。
Nilesh 14

1
致命的です。参照もツリーではありません。かなり迷惑です。
セイリア2015

新しいバージョンが既にある場合、package.jsonに古いバージョンを強制的にインストールするにはどうすればよいですか?
SuperUberDuper 2015年

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>.ドキュメントに記載されている形式に従うことができます。だから、「マスター」ブランチでのjQueryの最新バージョンを使用するには、どうなる:git@github.com:jquery/jquery.git#masterまたはjquery/jquery#master略し。
Nick Tomlin 14年

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、そのブランチの最新バージョンを実行すると、インストールされます。この例bootstrap3ではangular-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]"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.