BakerがCakePHPのために.bashrcに設定すべき5行 (CakePHP Advent Calendar 2010 17日目)

標準

こんにちは、nojimageです。aerithさんからバトンを受けての CakePHP Advent Calendar 2010 17日目です。今日もユルユルな感じでいきましょう。はい。
今日のtipsは、Linux/Macを開発環境で使っている方向けのシェル環境設定のお話です。
(Windowsの人はゴメンナサイ。

Bakerなら上記の5行をbashへ設定しておくと、作業がちょっぴり楽になります。
さっそくユーザホームにある .bashrc へ追記してみましょう。

.bashrcを編集したら、

として設定を反映するのを忘れずに。

それでは、それぞれの行の意味について簡単に解説します。

1,2行目

CakePHPのコンソールシェルのあるパスを設定して、環境変数PATHへ追加しています。
この2行を追記することで、どのパスからでも”cake”コマンドを実行できるようになります。

なお、CAKE_CONSOLEの”/path_to_cakephp_root”は、CakePHPのインストールパスになりますので、それぞれの環境にあわせて書き換えてください。

3行目

エイリアス”cake”を設定します。
1,2行目とかぶるじゃない?って思われる方もいるかもしれません。
これを設定しておくと、アプリケーションのROOTに居る場合、そのアプリケーションのcakeコマンドを呼び出すことが出来るようになります。

例えば、

とあった場合、/Application_Aディレクトリで”cake”とすれば、前述のPATHにあるcakeコマンド(v1.3)ではなく、/Application_Aの中にあるcakeコマンド(v1.2)が呼び出されます。
同様に、/Application_Bディレクトリで”cake”とすれば、/Application_Bの中にあるcakeコマンド(v2.0)が呼び出されます。

なお、ディレクトリを変更してROOTではない/Application_A/appなどに移動するとエイリアスの設定は無効になり、PATHにあるcakeコマンド(v1.3)が呼び出されます。

4行目

最も使うであろうシェル、”bake”のエイリアスを作成します。

とかで、使えるようになりますね。
(個人的にはschemaの方をもっと使うんですがが。

5行目

tmpディレクトリにあるモデルキャッシュなどを一括で削除する、”cake-cc”コマンドを作ります。
アプリケーションのROOTに居る状態で、

と、打てばモデルキャッシュやら設定ファイルのキャッシュやらを一括で削除します。
モデルキャッシュの消し忘れはBakerなら必ず一度はハマるので、今回の5行の中で一番便利な行だと思います。はい。

いかがでしたでしょうか。コンソールでの作業は馴れないとちょっと難しいかもしれませんが、少し工夫を加えると作業効率を上げることができます。今回は簡単なalias系のネタでしたが、もっとスゴイのあるよって方はぜひ教えてください。
それと残念ながら私はWindows環境を離れて久しいので、Windowsで同様のことができるかわかりません。できる方法があれば記事にしてアップして頂けるといいかなと思います。はい。

さて、CakePHP Advent Calendar 2010 も残りあと7日。どんなtipsが出てくるか楽しみですね。明日18日は、haltさんです!よろしくお願いします。 🙂

おまけ

と書いておいて、cake側のconfig/bootstrap.phpあたりで

としておくと、シェルから開発環境用の設定を利用できます。
WEBの場合で切り分けるなら、http.confや、app/webroot/.htaccessに

と、設定すれば開発用設定になりますね。

参考:
開発環境と本番環境で設定情報を使い分ける – cakephperの日記(CakePHP, MongoDB, Lithium)

環境による設定の切り分けは、設置ディレクトリで分けるやり方もあってmon_satさんが紹介されています。
CakePHPの環境を判定するTips (CakePHP Advent Calendar 10日目) | 半年前の私への教科書

おまけ その2

bash補完ツール bash-completionを入れているならcakeコマンドの補完もできます。
cakeコマンドへのPATHを通した後、以下のスクリプトをbash_completion.d配下に保存します。

Linux (Redhat系
/etc/bash_completion.d/cake

Mac OS X (MacPorts
/opt/local/etc/bash_completion.d/cake

cake と打って[TAB]キーを押せば利用可能なシェルの一覧が表示されます。

参考:
http://bin.cakephp.org/saved/21917 CakePHP1.2向けはこちら
Bash completion script for CakePHP’s console – cakebaker

コメントを残す

Page optimized by WP Minify WordPress Plugin