bowerについて
bowerが0.9.2になり、gitリポジトリが変更になりました。
基本
bowerとは、WebのJavaScript package managerです。 npmやgem、cartonのように、jqueryやd3、angularなど、プロダクトのwebで必要なpackageを管理するツールです。
インストール
$ npm install -g bower
以上
使い方
$ bower install <package> $ bower install <package>#<version>
<package>
ではいろいろ指定出来ます
- jqueryのように、Bowerで登録してあるパッケージ名
- gitのpublic/privageのエンドポイント 例) git://github.com/someone/some-package.git
- ローカルgitのエンドポイント
- gitエンドポイントの省略名 例) someone/some-package (defaults to GitHub).
- zipやtar.gzなどを含むファイルのURL
また、ドキュメントにはありませんがローカル使えるのは社内的にはよかったりします。
- ローカルディレクトリ 例) /home/hoge/sampleproject
リポジトリ
2013/04/28現在、登録されているリポジトリ数は1841で、npmのように結構きつい状況が起きる気配ムンムンです。下記のコマンドで一覧が出てきます。
$ bower search $ bower search | wc -l 1841
ちなみに、カテゴリ内訳としては下記のようになっています。
$ bower search | perl -nle 'my @package = split(/[\s\-]+/); print $package[1];' | sort | uniq -c | sort -r | head -n 10 107 jquery 68 angular 39 armory 32 backbone 23 bootstrap 18 x 14 suit 9 stitch 9 requirejs 8 songlocator
bowerの設定
bowerは下記のように--save / --save-dev
をつけることでpackageのリストを作成してくれます。
$ bower install <package> --save $ bower install <package> --save-dev
これにより、bower.json
(components.jsonから変更になりました)にはこんな感じで、dependencies
として依存するpackageが記録されていきます。
{ "name": "sample", "version": "0.0.0", "dependencies": { "jquery": "~2.0.0" } }
$ bower install
とpackageを指定しないでコマンドを実行した時には、このbower.json
の情報をもとにpackageをとってきてインストールをしてくれます。
注意
インストール先のディレクトリはデフォルトでは componentsになっています。 これは、bower.jsonを書き換えても絶対に変わりません。
例えば、expressなどを利用していてインストール先をpublic/components
に変えたい場合は.bowerrc
をプロジェクトのトップに置くか、~/.bowerrc
を書くかのどちらかになります。
この中で
{ "directory": "public/components" }
とすることで変更することができます。
気持ち的には、「bower.json
で変更させろや!」って思うこともあるのですが、後述のリポジトリ作成の観点を考えるとこれが妥当なのかもなあとは思います。
リポジトリ開発
$ bower init
とすることでbower.json
を作成します。
ここに登録したいプロジェクトの情報(このエントリでは割愛)を記載していきます。
この情報はプロジェクトを利用する人に影響をおよぼすため、インストールディレクトリの情報をbower.json
では変更できないようにしているようです。