URLからBowerを使用して依存関係をインストールし、バージョンを指定する


154

URLを使用してBowerとの依存関係をインストールしようとしています。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)。
  • zipおよびtarファイルを含むファイルへのURL。その内容が抽出されます。

ただし、URLを除くすべてのタイプでバージョンを指定できると記載されています。

ダウンロードされたURLの依存関係のバージョンを指定するにはどうすればよいですか?

回答:


194

パッケージ名の代わりにgitエンドポイントを使用します。

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

8
これはGitエンドポイントであり、バージョン管理を指定すると機能します。たとえば、Javascriptファイルを直接指定した場合、これは機能しません
Edmondo1984

1
最新バージョンのbowerではURLが許可されています。
lfender6445 14

ところで:一緒に動作しsvnます、例えばbower install crypto-js=svn+http://crypto-js.googlecode.com/svn/#~3.1.2 --save
Preexo '27 / 10/27

5
ENORESTARGET URL sources can't resolve targetscommittishでgitからインストールしようとしたときにエラーが発生した場合は、(add )に変更https://github.com/jquery/jqueryする必要がありますhttps://github.com/jquery/jquery.git.git
jakub.g

2
bowerはバージョンタグを正規化してプレフィックスとしてv?を付けますか?私が行うとbower install https://github.com/my/repo.git#1.0.0、それは私がプッシュされ、実際のタグが呼び出されたにも関わらず動作しますv1.0.0
spinningarrow

54

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",

     }
}

bowerはリリースされたバージョンとタグも検索するので、ほとんどすべてを指すことができ、前の例のような基本的なクエリパターンを解釈できることに注意してください。バージョン3.0の最新のマイナーアップデートを取得します(bower 1.3.5からテスト済み)

質問の説明でもURLのみを使用しており、githubリポジトリについては言及していないため、更新してください

別の例は、次のように目的のURLを使用してこのコマンドを実行することです。

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

このコマンドは、jsライブラリをダウンロードして{your destination path} /gmap3MarkerWithLabel/index.jsに置き、gmap3MarkerWithLabel: "..."と呼ばれるエントリをbower.jsonファイルに自動的に作成します。その後、bower update gmap3MarkerWithLabel必要な場合にのみ実行できます。

おかしなことに、プロセスを実行すると(bower.jsonにエントリを手動で追加し、次にbowerインストールのentryNameを追加します)、機能しません。

bower ENOTFOUNDパッケージgmapV3MarkerWithLabelが見つかりません


++プロセスを逆方向に実行する場合の警告
jacob 2015年

2018年現在、人々はもはや開発ではなく、亭主から離れて、ヤーンのような他のパッケージ管理ツールを使用する必要があります。より多くの標準化された方法で行くために多くのサードパーティライブラリ開発者がバウアーパッケージのリリースを中止したため、問題が発生しました。糸はお辞儀よりもはるかに速く、移行も本当に簡単です。
le0diaz


21

特定のコミットをターゲットにする

リモート(github)

githubを使用する場合は、そのクローンハッシュの末尾にコミットハッシュを追加することで、特定のコミット(たとえば、作成および更新したフォーク)をターゲットにすることもできます。例えば:

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

ローカル(ファイルシステム)

または、プロジェクトの.gitディレクトリを使用する場合は、ローカルファイルシステムのgit commitを対象にすることもできます(Windowsの場合、スラッシュに注意してください)。

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

これは、ローカルでコミットしたがまだリポジトリにプッシュしていないライブラリコードをテストする方法の1つです。


1
ありがとう!私は、パッチ付きのbowerコンポーネントを使用しており、そのリポジトリのメインbowerファイルに従って最新のbowerコンポーネントをインストールし続けました。コミットハッシュを追加すると、最新バージョンをダウンロードできます。
エリオットレガン2017年

9

ただのアップデート。

githubリポジトリであれば、もちろんバージョンを気にしないのであれば、githubの省略形を使用するだけで十分です。

GitHub省略表記

$ bower install desandro/masonry

7

これは、特定のタグをインストールしたり、GitHubから経由でコミットしたりするための便利な簡単な方法bower.jsonです。

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

例えば:

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

好奇心から、リポジトリから特定のディレクトリをターゲットにすることは可能ですか?git@git-url.git#v0.1.0/directory?
Rhys

7

uriエンドポイントを指定するだけでうまくいきました、bower 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

ドキュメントによると、次のタイプの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)

3

バージョンの指定はgit-endpointsでのみ機能すると思います。そして、フォルダ/ zipのもののためではありません。bowerにjs-file / folder / zipを指定するときと同じように、すでにパッケージバージョンを指定しています(実際にはjsを除きます)。パッケージにはバージョンが含まれているbower.jsonがあるためです。「bower install」でバージョンを指定することは、パッケージの多くのバージョンを持つことができるリポジトリをbowerにポイントする場合に意味があります。それは私が思うにgitだけであることができます。


3

リリース時にタグを読むことで取得できるタグ番号はbower install git://github.com/urin/jquery.balloon.js.git#1.0.3 --saveどこに1.0.3あるか試してください。また、git://システムが接続するためのURL置換用。


0

gitからパッケージをインストールし、bower.json依存ブロックに保存します。

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

--save依存関係ブロック内のbower.jsonファイルにパッケージ名バージョンを保存します)。

参照

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.