PHPで複数バージョンの実行環境を管理できるphpenvを試した(on Mac)
時のメモ。phpenvは2つある...
後者に上げたphpenvはphpのインストールまで行ってくれる
が、情報が少なかったため...今回はphp-buildと併用して使う前者の方を使って試してみた
phpenvをインストール
$ curl https://raw.github.com/CHH/phpenv/master/bin/phpenv-install.sh | sh
※Gitを事前にインストールしている必要があります
.zshrcにphpenvへのパスとphpenvのinit実行設定を追記
export PATH=$HOME/.phpenv/bin:$PATH eval "$(phpenv init -)"
※bashをお使いの方は、.bashrcに
php-buildをphpenvのプラグインとしてインスール
phpenv+php-build環境の構築と運用を参考にさせて頂きました(一緒です..)m(_ _)m
$ mkdir $HOME/.phpenv/plugins $ cd $HOME/.phpenv/plugins $ git clone git://github.com/CHH/php-build.git $ curl https://raw.github.com/hnw/php-build/plugin-to-chh-phpenv/bin/rbenv-install > $ php-build/bin/rbenv-install $ chmod a+x php-build/bin/rbenv-install
phpをインストール
$ phpenv install 5.4.15
が下記build時にエラー・・
-----------------| BUILD ERROR |----------------- Here are the last 10 lines from the log: ----------------------------------------- configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers. rm: conftest.dSYM: is a directory configure: error: jpeglib.h not found. ----------------------------------------- The full Log is available at '/tmp/php-build.5.4.15.20130518154051.log'. [Warn]: Aborting build.
ということなので、必要なパッケージをbrewでインストール
$ brew install jpeg $ brew install re2c $ brew install mcrypt
んでもって、再度PHPをインスール
インストールされているPHPの確認
$ phpenv versions
phpのバージョンを切替
$ phpenv global 5.4.15
phpのバージョン確認
$ php -v PHP 5.4.15 (cli) (built: May 18 2013 16:10:03) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies with Xdebug v2.2.1, Copyright (c) 2002-2012, by Derick Rethans
oh!
参考サイト
下記サイトを参考にさせて頂きましたm(_ _)m
『第13回 PHPで何か作ろうかい(会)@恵比寿』開催しましたぁ!!
※@yandoさん所属のEngineYardさんのオフィスをお借りして開催しています。ありがとうございますm(_ _)m
今回の開催で13回目を迎えましたこの会、エンジニアの方からそうでない方、学生の方と
合計14名の方に参加頂きましたっ!!
@otiai10さんからハッカソンといえば red bullの差し入れを頂きました!ありがとうございますm(_ _)m
前回から今回行うタスクを各自なるべーく小さい粒度でポストイットで貼付けて
開発を進めていきましたが、 結果は・・
と、全体の各タスクに対して50%ぐらいの進捗率でしたね。
今回参加された方のテーマをざーっと説明しますと・・
- 個人で作られているサービス開発
- CakePHP、Symfonyフレームワークの勉強
- CandyCaneのプラグイン開発
- Capistranoを使ったデプロイ環境構築
- 水・・画像やイベント開催情報のhtmlスクレイピング
- phpenvを使った開発環境の整備
- 書籍の執筆作業
- お仕事・・
と、各自もくもく・・約6時間、作業が進んだ!方も、そうでなかった・・方も
長い時間、本当にお疲れさまでした!!
!!!
- 作りたい物があるんだけど・・なかなか進まない・・yo!!
- 作っている物があるんだけど・・行き詰まっている・・・(´ノω;`)
- 作りたい物があるんだけど・・何から始めればいいんだ!?・・
- 一人でモンモンとしている・・orz
な方も、、この機会をきっかけに、みんなで一緒にもくもくと物を作り上げませんか??
次回は・・6/29日(土) に開催します!!ご都合がよろしければ是非参加お待ちしております!!
:sの置換
<option value="1">hoge</option>
こんなHTMLがあって
"1" => "hoge",
の形式に変換したい・・
:s/\(.*\)value=["']\(.*\)["']\(.*\)>\(.*\)<\/option>/"\2" => "\4",/gc
!!
railsでバックグラウンドプロセスの管理
そんな時はforeman使うといい。
$ gem install foreman
プロジェクトのルートディレクトリにProcfile作成して、管理したいプロセスを記述。
web: bundle exec rails s mail: mailcatcher
で起動は・・
$ foreman start
・・
11:26:36 mail.1 | started with pid 63721 11:26:36 web.1 | started with pid 63720
Good job!!
githubに追加して欲しいstarのコメント機能
githubでstarしたリポジトリをあとで検索しやすいように、starした時に合わせてコメントをつけれるようなuser scriptを書いてみた(動作はchromeのみでしか試してません)
先週末にqiitaのハッカソンがあって、そこにgithubの人が来ていたので
その日にdemo作って、この機能を入れて欲しいとプレゼン時に発表した。伝わったかは分かりません..
starの検索周り強化してほしいのだ!!
第4回『Rubyで何か作ろう会』開催します
少し先になりますが、3/2日(土)に第4回目のRubyで何かつくる会を開催します。
(前回は13名の方に参加頂きました!ありがとうございます!!)
以前まで、成果発表の後にすぐに解散(打ち上げに参加できる方は居酒屋へ・・)という形をとっていましたが
打ち上げに参加できない方もいるなぁーと思い、、成果発表後にミニ懇親会という時間を用意して
打ち上げにでれない方も参加者同士でわいわい交流ができたらなと思います。
「未経験者でも大丈夫ですか?」
「成果発表はどんな形式ですか?」
と参加希望の方から質問を頂くことがよくありますが、未経験者でももちろんモーマンタイですし、成果発表はプロジェクターを用意して・・などという形ではなく、その場で口頭にて発表する形ですので、肩の力を抜いてお気軽にご参加ください。
@honbin まっています!!
フォルダ間の移動を高速に「どこでもどあゔぃむー」
※音量をあげ、再生ボタンを押しましたら、さーご一緒に
こんなこといいな できたらいいな
あんなゆめ こんなゆめ いっぱい あるけど
みんなみんなみんな かなえてくれる
ふしぎなプラグインで かなえてくれる
ふぉるだかんのいどうを こうそくに
「ハイ!コントロールピーヴィムー」
アン アン アンッ とってもだいすき ヴィム エーディーター
この記事はVim Advent Calendar 2012 43日目の記事になります。
前回の記事は@takochuuさんのtagbar + ctagsでウキウキ新生活!という記事でした。オシャンティ!
経緯のお話し
rails.vimやcake.vimのようにプロジェクトの各フォルダ間移動を、独自MVCで作られたプロジェクトにても… :Rmodel、:Rcontrollerと各フォルダへ高速に移動できるプラグインが欲しいので作ろう..と意気込んでいたのですが、年始にごにょごにゅしているうちにctrlp.vimの拡張機能を使って近しいことができることを発見したので、そのトピックを2つほど紹介してみたいと思います。
「どこでもどあー ゔぃむー」のctrlp拡張プラグインを入れる
※尚、ctrlp.vimはgithubからcloneして最新版を入れて上げてください
プラグインというより、コマンドをただただ提供しているだけのプラグインです。
名前は「どこでもドア」にインスパイアされて命名してみました。
ctrlpのソースを呼んでたところ、ctrlp#initの第2引数にパスを渡してあげると、そこからファイル検索ができるよう仕組みが分かったので、プラグイン?とは言い難いのですがちょこっと実装して拡張してみました。
インストール方法は、上記URLのpluginフォルダにあるctrlp-dokodemo-doa.vimを ctrlp.vim/plugin/のポケットにいれてあげて、vimrcに下記設定を書いてあげれば、いつでもドラえもんがポケットから取り出してくれます。
let g:ctrlp_dokodemo_doa_settings = { \ 'YourProject' : { \ 'app_path' : '/path/to/your_project/', \ 'available' : 1, \ 'role_paths' : { \ 'controller' : 'app/controllers/', \ 'model' : 'app/models/', \ 'view' : 'app/views/' \ } \ }, \ 'YourProject2' : { \ 'app_path' : '/path/to/your_project2/', \ 'available' : 0, \ 'role_paths' : { \ 'controller' : 'app/controllers/', \ 'model' : 'app/models/', \ 'view' : 'app/views/' \ } \ }, \}
ctrlp_dokodemo_doa_settingsの第1階層がプロジェクトのキーとなっており、そのキーとその配下のrole_pathsのキーがそのままコマンドとして適用されます。
※キーの設定はユーザーコマンドの命名規則(半角英数)に従って名前付けをしてあげてください。
上記vimrcの設定ですと
:CtrlPDDYourProjectcontroller :CtrlPDDYourProjectmodel :CtrlPDDYourProjectview
の3つのコマンドが適用されます。尚、CtrlPDDはプレフィックスとなっています。
上記適用されたコマンドを入力し、目的の場所にてctlpのウィンドウが開きましたら、後は<c-h>、<c-v>、<c-t>とお好みの開き方でファイルを開いてあげたり、そのディレクトリ配下にてファイルを作成 or フォルダを作成したい場合は、ファイル名 or 作成したいフォルダ(フォルダを含む場合はhoge/hoge.rb)を入力して<c-y>で作成してくれます。ここはctrlp.vimの標準機能ですね、詳しくはドラエモンにhelpを参照してください。また上記設定のように、複数プロジェクトを抱えている..あ..設定をしますと、沢山のコマンドが羅列されて選択が大変でしたので、availableの有効設定値を設けてコマンドの非表示設定をできるようにしました。
複数人でこういうプロジェクトの開発をしていると、変なところにプログラムがおかてしまったり… とドキュメント関連とか整備されていればあれなのですが、ドキュメントなんて見ないことがほとんどですので、コマンド入力からフォルダ移動を強制するという意味で有効ではないかと思ったりしました。
名前についてはみんな大好きなドラえもんの道具を命名することで、Vimに取っ付きにくかった人も、名前から興味ができて一歩を踏み出すきっかけが 「できたらいいなー あんなゆめ こんなゆめ.. 」..失礼、よかったら是非使ってみてください。
:CtrlPBookmarkDirAddコマンドを使おう
ctrlp標準の拡張として提供されている機能です。
:CtrlPBookmarkDirAdd :CtrlPBookmarkDir
各ディレクトリパスをブックマーク登録することができて、登録されたブックマークからファイル検索できるような仕組みが提供されております(この機能を使えば全てよかったんじゃ..)
最後に
ctrlpは先日上がったエントリのように、拡張機能を簡単に作れる仕組みがあるので 今度はもう少し突っ込んだプラグインを作ろうと思います。まだctrlp自体使っていない方がいましたら、ライフチェンジングなプラグインなので是非使うことをお勧めしますです。使い方はmattnさんの記事が非常に参考になると思います。
明日は@yomi322さんです!
そんじゃーね!!!!!