<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Package &#8211; Mach3.laBlog</title>
	<atom:link href="https://blog.mach3.jp/tag/package/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.mach3.jp</link>
	<description></description>
	<lastBuildDate>Tue, 29 Jan 2013 01:56:23 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>パッケージマネージャー「Bower」が大変便利で捗りそうです</title>
		<link>https://blog.mach3.jp/2013/01/29/bower.html</link>
		
		<dc:creator><![CDATA[mach3]]></dc:creator>
		<pubDate>Tue, 29 Jan 2013 01:56:23 +0000</pubDate>
				<category><![CDATA[Laboratory]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Library]]></category>
		<category><![CDATA[node.js]]></category>
		<category><![CDATA[Package]]></category>
		<category><![CDATA[Resources]]></category>
		<guid isPermaLink="false">http://blog.mach3.jp/?p=2982</guid>

					<description><![CDATA[外部リソースをプロジェクトにインストールするのに、今まではSublimeText2のNettuts+ Fetchを使用していましたが、 node.jsベースのパッケージマネージャーの「Bower」が大変良さそうだったので [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>外部リソースをプロジェクトにインストールするのに、今までは<a href="http://www.sublimetext.com/">SublimeText2</a>の<a href="/2012/01/sublime-text-and-nettuts-fetch.html">Nettuts+ Fetch</a>を使用していましたが、 node.jsベースのパッケージマネージャーの「Bower」が大変良さそうだったのでレポートをしたためておきます。</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh3.googleusercontent.com/-bYchZSyBnIg/UQaR7UpP18I/AAAAAAAAB7U/5grWWoVm2Vg/s400/20130129-00.png" alt="パッケージマネージャー「Bower」が大変便利で捗りそうです"/></figure>



<p></p>



<span id="more-2982"></span>



<h2 class="wp-block-heading">Bower とは</h2>



<h3 class="wp-block-heading"><a href="http://twitter.github.com/bower/">BOWER &#8211; THE BROWSER PACKAGE MANAGER html, css, and javascript</a></h3>



<figure class="wp-block-image"><img decoding="async" src="https://lh5.googleusercontent.com/-lxzVaMvIoiY/UQaR7b2h0QI/AAAAAAAAB7U/pJJptRHExwo/s500/20130129-01.png" alt="Bower"/></figure>



<p></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Bower is a package manager for the web. Bower lets you easily install assets such as images, CSS and JavaScript, and manages dependencies for you.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>BowerはWeb開発向けのパッケージマネージャーです。画像・CSS・JavaScriptといったリソースを簡単にインストールする事ができ、依存関係を管理してくれます。</p>
</blockquote>



<p>新しいプロジェクトをスタートする度に毎回jQuery等のリソースを複製して設置するのは面倒です。 そこでBowerを利用する事で、コマンドラインから簡単に最新のパッケージを、依存リソースと一緒にインストールする事ができます。</p>



<p>また、プロジェクトの設定ファイル（bower.json）を作成して依存リソースを記しておけば、 コマンド一発で全てダウンロード、あるいはアップデートする事ができます。 プロジェクトに必要なライブラリがチームメンバーにとって一目瞭然になるのもメリットですね。</p>



<p>見ての通り、Twitter開発陣プレゼンツのリソースです。 リリース当初小耳には挟んでいたのですが、実用するまでには至らず。実際使ってみたら大変便利でした。</p>



<h2 class="wp-block-heading">インストール</h2>



<p>まずは Bower をインストールします。必要に応じて、sudoなどしましょう。 （node.jsを先にインストールしておく必要があります）</p>


<pre class="wp-block-code"><span><code class="hljs">$ npm install -g bower
</code></span></pre>


<p>Windowsユーザーの場合は、Gitがコマンドプロンプトから呼べないと上手く動作しないそうです。 公式にあるように、msysgitインストール時に &#8220;Run Git from the Windows Command Prompt&#8221;のチェックを入れるか、 あるいは Git CUIの環境でnode.jsへのパスを通しておけば使えます。</p>



<p>cf) <a href="https://npmjs.org/package/bower">公式ドキュメント参照 (&#8220;Windows users&#8221;の項)</a></p>



<h2 class="wp-block-heading">簡単な使い方</h2>



<h3 class="wp-block-heading">パッケージをインストールする</h3>



<p>まずはコマンドラインからパッケージ単体をインストールしてみます。&#8221;install&#8221; コマンドでパッケージ名を指定します。</p>


<pre class="wp-block-code"><span><code class="hljs">$ bower install jquery
</code></span></pre>


<p>すると、カレントディレクトリに「bower_components」ディレクトリが作成され、その中にパッケージがインストールされます。 こんなかんじに。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><pre class="wp-block-code"><span><code class="hljs">ProjectRoot/
└ bower_components/
    └ jquery/
         ├ jquery.js
         ├ jquery.min.js
         ├ component.json
         └ composer.json
</code></span></pre></blockquote>



<p class="caution">
    デフォルトの名前が&#8221;components&#8221;から変更になっています &#8211; 2013/09/05
</p>



<p>パッケージ名を連記する事で複数のパッケージを一度にインストールする事もできます。</p>


<pre class="wp-block-code"><span><code class="hljs">$ bower install jquery modernizr mustache
</code></span></pre>


<p>バージョンを決め打ちしてインストールするにはシャープ記号で区切って指定することができます。</p>


<pre class="wp-block-code"><span><code class="hljs language-php">$ bower install jquery<span class="hljs-comment">#1.8.2</span>
$ bower install jquery<span class="hljs-comment">#1.8.x</span>
$ bower install jquery<span class="hljs-comment">#1.8</span>
...
</code></span></pre>


<h3 class="wp-block-heading">パッケージをアップデートする</h3>



<p>インストールしたパッケージは &#8220;update&#8221; コマンドでアップデートできます。</p>


<pre class="wp-block-code"><span><code class="hljs">$ bower update
</code></span></pre>


<h3 class="wp-block-heading">欲しいパッケージを探す</h3>



<p>欲しいパッケージがBowerに登録されているかどうかは &#8220;search&#8221; コマンドで探すことができます。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">$ bower search mustache

    - mustache git:<span class="hljs-comment">//github.com/janl/mustache.js</span>
    - grunt-mustache git:<span class="hljs-comment">//github.com/jonschlinkert/grunt-mustache.git</span>
</code></span></pre>


<h3 class="wp-block-heading">欲しいパッケージが見つからないんだけど？</h3>



<p>Bowerに登録されていないパッケージをインストールするにはいくつかの方法があります。 例えば、<a href="http://headjs.com">headjs</a>をインストールしたい場合。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">$ bower install https:<span class="hljs-comment">//github.com/headjs/headjs</span>
$ bower install headjs/headjs
$ bower install https:<span class="hljs-comment">//raw.github.com/headjs/headjs/master/dist/head.js</span>
$ bower install ../../the/path/to/head.js
</code></span></pre>


<p>それぞれ次の物を指定してインストールしています。2番目が楽でいいですね。</p>



<ol class="wp-block-list">
<li>GitHubのリポジトリURL</li>



<li>GitHubのショートハンド</li>



<li>リソースの直接URL</li>



<li>リソースのローカルパス</li>
</ol>



<p>&#8220;register&#8221; コマンドでパッケージを新規登録する事も出来ますが、特定の条件が必要になる為、ここでは詳しく触れないでおきます。</p>



<h2 class="wp-block-heading">プロジェクトを作成する</h2>



<p>プロジェクトの設定ファイル &#8220;bower.json&#8221; を作っておく事で、 必要なパッケージを一括してインストール・アップデートする事ができます。</p>



<p>プロジェクトのルートディレクトリに&#8221;bower.json&#8221;を作成し、次のような要領で入力します。</p>



<p class="caution">
    設定ファイル名が&#8221;component.json&#8221;から変更になっています &#8211; 2013/09/05
</p>


<pre class="wp-block-code"><span><code class="hljs language-json">{
    <span class="hljs-attr">"name"</span> : <span class="hljs-string">"My Awersome Project"</span>,
    <span class="hljs-attr">"version"</span> : <span class="hljs-string">"1.0.0"</span>,
    <span class="hljs-attr">"dependencies"</span> : {
        <span class="hljs-attr">"jquery"</span> : <span class="hljs-string">"1.8"</span>,
        <span class="hljs-attr">"modernizr"</span> : <span class="hljs-literal">null</span>,
        <span class="hljs-attr">"mustache"</span> : <span class="hljs-literal">null</span>
    }
}
</code></span></pre>


<p>基本的に &#8220;dependencies&#8221; に必要なリソースを追加していく形になります。 見ての通り、キーにパッケージ名、値にバージョンを記載するオブジェクトリテラルになっており、 バージョンが &#8220;null&#8221; になっている場合は最新版をインストールします。</p>



<p>後は、引数なしで &#8220;install&#8221; コマンドを実行するだけで、依存リソースが一括してダウンロードされます。便利。</p>


<pre class="wp-block-code"><span><code class="hljs">$ bower install
</code></span></pre>


<p>また、「見つからないパッケージ」をインストールするためには、バージョンの代わりに前述の例のようなURLあるいはパス等を入力します。</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript"><span class="hljs-string">"dependencies"</span> : {
    ...
    <span class="hljs-string">"headjs"</span> : <span class="hljs-string">"headjs/headjs"</span>
}
</code></span></pre>


<h2 class="wp-block-heading">インストール先ディレクトリをカスタマイズする</h2>



<p>Bowerは &#8220;.bowerrc&#8221; というファイルでカスタマイズする事ができます。</p>



<p>例えば、パッケージのインストール先を &#8220;bower_components&#8221; ディレクトリから他の場所に移したい場合、 プロジェクトルートに &#8220;.bowerrc&#8221; ファイルを作成して次のように入力しておきます。</p>


<pre class="wp-block-code"><span><code class="hljs language-json">{
        <span class="hljs-attr">"directory"</span> : <span class="hljs-string">"assets/vendors"</span>
}
</code></span></pre>


<p>また、 &#8220;.bowerrc&#8221; を自分のホームディレクトリに置いておく事で、自分が作る全てのプロジェクトにカスタマイズを適用する事ができますが、 そのプロジェクトを誰かと共有する際に問題が生じそうなので、基本的にはプロジェクトに同梱しておいた方が良いと思います。</p>



<h2 class="wp-block-heading">Nettuts+ のチュートリアル動画</h2>



<h3 class="wp-block-heading"><a href="http://www.youtube.com/watch?v=USk1ie30z5k">A RequireJS, Backbone, and Bower Starter Template</a></h3>



<p><iframe width="480" height="360" src="http://www.youtube.com/embed/USk1ie30z5k?rel=0" frameborder="0" allowfullscreen=""></iframe></p>



<p>Nettuts+ によるチュートリアル動画です。 Bowerの基本的な使い方に加えて、RequireJSとBackboneによるスタートアップについて解説しています。 参考に、是非。</p>



<h2 class="wp-block-heading">まとめ</h2>



<p>node.js が出てから、JSベースの便利ツールが沢山出て来ましたね。 有り難りつつも、しっかり楽をさせてもらいましょう。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<dl>
<dt>2013/09/05</dt>
<dd>bowerバージョンアップによる設定ファイルとディレクトリ名の変更について記載</dd>
</dl>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
