先のエントリの通り、Octopressを導入したので導入時に何をしたか、どこにハマったかを残しておこうと思う。
このOctopress + GitHub Pagesを使ってのブログ開設ってのは技術的にはもう1、2年前のトレンドっぽいし、最近ではむしろオレオレBlogの実装とかがトレンドっぽいけど1、まぁでもともかくrubyにも触れてみたかったし、リッチさとシンプルさのバランスから今回はOctopress + GitHub Pagesを採用することにした。
INSTALL
インストールは公式のsetupページを見れば大体問題ないと思うし、なんだったら日本語の解説記事2もいろいろあるのでそちらを参考にすれば良いと思う。
$ git clone git://github.com/imathis/octopress.git octopress
$ cd octopress
基本的には上コマンドを打って、後にモジュールを入れていくだけ。
ただ、一点注意するポイントがあって、rubyのバージョンが1.9.3じゃなければいけないことと、rbenvで1.9.3を入れててもなんだか
rbenv: version `1.9.3' is not installed
とか言われてセットアップをすすめることができないこと。
これはおそらくrbenvで管理してるrubyのバージョンが、パッチ番号まで含めたものになってるからだと思う。試しにホームディレクトリかどっかでrbenv versions
するとこうなる
$ rbenv versions
system
1.9.3-p448
* 2.0.0-p247 (set by /Users/kosuke/.anyenv/envs/rbenv/version)
global
は2.0.0-p247を使うことになってるし、1.9.3も1.9.3-p448がしっかり入っているので、octopressのディレクトリの.ruby-version
がしっかりしていれば特に問題なくセットアップを進めることができるはずだ。んで、試しにその.ruby-versionを見てみるとこうなっていた。
$ cat OCTOPRESSDIR/.ruby-version
1.9.3
これはもしやと思い
$ echo "1.9.3-p448" > OCTOPRESSDIR/.ruby-version
とすると無事先のエラーが消えセットアップを進めることができるようになった。なんだかrbenvのエラーが出てハマってるって人はパッチ番号まで含めた.ruby-versionを改めて作ると良いかもしれない。
まぁともかくrbenvの問題を乗り切ればあとは公式の手順通りににcd octopress
した後に
$ gem install bundler #さっきはここでversionについてエラーが出てた
$ rbenv rehash
$ bundle install
$ bundle update
すればオーケー。
ここで大事なのが、この時点で(rake install
する前に)
$ git add .
$ git commit -m "init ok"
とでもしてしっかり現状を記録しておくこと。何故なら、後にテーマを変えたり色々プラグインを入れたりしたときに、わけがわからなくなって初期状態に戻したくなることが絶対にあるから。以後、テーマを入れたりプラグインを入れたりするときはブランチを切って気に入ったらマージするなどの作業をすることをお勧めする。
コミットをしたらとりあえず
$ rake install
すれば準備は万端になるし
$ rake preview
すれば http://localhost:4000/ にサーバが立ち上がり初期設定のブログのプレビューが見れるはず。
Directory_watcherの問題
ここにあるとおり、Octopressはrake preview
でプレビューが見れるのはいいんだけど、なんだかファイル監視システムの不具合でCPU使用率がとんでもないことになってしまうバグが有る。なのでGemfile
の中でdirectory_watcherのバージョンを明示してあげよう。
gem "directory_watcher", "~> 1.4.1"
こうして再度bundle update
すればこの問題は解決されるはず。
おわりに
あとは他のブログで色々と解説されている通りrake setup_github_pages
したり、rake new_post["hoge"]
するなりなんなりでブログを書いていけば良いと思う。他にも紹介すべきポイントやgistのズレの問題について書くことはあるんだけど、今回はとりあえずインストールまで書いてみた。
以上。
※ なお、参考に上げたページなどは大変有用だが一部間違った情報などもあるので注意が必要