obtvseに必要なソフトウェアなど

今日、herokuにgit pushしたobtvseがやっと正常に動きました。gitもruby on railsもherokuもなーんも触ったことがない素人でもどうにかこうにかでしたが、つまづいて検索、またつまづいて検索の繰り返しで断片的な情報をかき集めてdiigoに放り込み整理してという感じ。輪をかけて数日前にobtvseが若干アップデートしてしまい、ローカル環境でインストール時に必要なruby gemsが新たにでてくるなどかなり苦戦しました。ともあれ無事に動き始めたのでざっくりとローカル環境とインストールしたソフトウェアを列記(インストール順)したいと思います。

  • OS: CentOS 5.8 (Final) → Windows7 x64 Oracle VM VirtualBoxで作成
  • ruby: ruby-1.9.3-p0
  • gem: gem 1.8.21 → rubyをインストールすると自動的にインストールされるがアップデートしておく
  • zlib: zlib-1.2.6 → railsをインストールするのに必要
  • rails: Rails 3.2.2
  • libyaml: yaml-0.1.4
  • /etc/yum.repos.d/rpmforge.repoを作成

     [rpmforge]
     name = Red Hat Enterprise $releasever - RPMforge.net - dag
     mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
     enabled = 0
     gpgcheck = 0

  • git: git version 1.7.8.2
  • openssl-devel: ibopenssl-ruby → herokuのインストールに必要
  • readline-devel: readline herokuのコマンド実行に必要
  • heroku: heroku 2.23.0
  • ここでobtvseをgit cloneしてbundle installするとgemのnokogiri、pg、sqlite3でずっこけるのであらかじめそれぞれのgemに必要なものをインストールする。
  • nokogiri: 1.5.2 → yum install -y rubygem-nokogiri
  • nokogiri: yum install -y gcc ruby-devel libxml2 libxml2-devel libxslt libxslt-devel → nokogiriに必要なライブラリ群
  • postgresql-devel: pg_cfg → pgに必要(Postgresqlをインストールしてもpg_cfgは入らない)
  • postgresql: 8.3.7 → 結局Postgersql本体も必要
  • sqlite-devel: sqliteはCentOSにあらかじめインストールしてあった
  • sqlite: gem sqlite3のビルドにはsqliteの最新版が必要(wget http://www.sqlite.org/sqlite-autoconf-3071100.tar.gz)

以上でbundle installにおいてすべてのgemがうまく作成できました。あとはgit commitだのそのあたりを使って書き換えたconfig.ymlをherokuにpushすればオッケー。

unixは昔ちょろっと触ったことがあったので、うろ覚えでしたがなんとかなりました。Windows環境でも同じことができるようですが、どっちつかずの半端的な感じがするので個人的にはunix環境のほうが楽しいですね。MacOS Xの環境でも文句なし。

あとはまったりobtvseのアップデートを楽しみにしていこー。

obtvseをモノにするため潜航中

最近PCゲームもやらずに、暇があれば没頭して潜ってます。

数日前にHacker Newsで見かけた、

に一目惚れし、

で作った、

に、

の環境を構築して、

からgit cloneして、ごにょごにょして、

にデプロイして遊んでます。これが書いたとおりいけばなんの苦労もありませんが、いかないのがこの道の面白いところ。あと一息。

Ruby軍団のインストールで悪戦苦闘

今年1月に入ってからというもの、PCに向かえばほとんどSkyrimに費やしてきましたが、メインクエストも終わらせたのでボチボチ他のゲームやらに手を出しています。結局、ある程度PCゲーム以外にも時間を割くことができるようになったので、久々にドットインストールでなんか学習でもしようかと思い、かなりの数に増えたレッスンを物色していたのですが、興味を引いたのはRubyの基礎(全32回)でした。

このレッスンではrubyがあらかじめインストール済みであることが前提条件なので、完了しているレッスン(ローカル開発環境の構築(全22回))で使用したOracle VM VirtualBox上のCentOS 5.7 (Final)にRubyをインストールしなければいけません。先にインストールしたphpとmysqlはうまくいいったのですが、ruby、rubygem、railsあたりでいろいろと問題発生。インストールされる側のOSのディストリビューションやバージョン、インストールするrubyやらのバージョン等により、多種多様なな組み合わせになるので環境ごとにちょっとした注意事項的なモノがあるようです。が、自分が分かる訳はないのでつまづいたらひたすら検索して情報収集。結果、なんとかすべて正常にインストールを終えることができました。

備忘録的にインストールした順番を。インストール方法は割愛してます。

1. libyamlをインストール(yumコマンド)yaml-0.1.4

2. rubyのインストール(yumコマンド)ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-linux]

3. zlib-develをインストール(yumコマンド)

4. rubyのtarボールを解凍後、解凍されたフォルダ内のフォルダext→フォルダzlibと移動して

# ruby extconf.rb --with-zlib-include=/usr/include -with-zlib-lib=/usr/lib

# make

gcc -I. -I. -I/usr/local/lib/ruby/1.8/x86_64-linux -I. -DHAVE_ZLIB_H -DOS_CODE=OS_UNIX -I/usr/include -fPIC -g -O2 -c zlib.c

gcc -shared -o zlib.so zlib.o -L. -L/usr/local/lib -Wl,-R/usr/local/lib -L. -rdynamic -Wl,-export-dynamic -lz -lrt -ldl -lcrypt -lm -lc

# make install

5. rubygemsのインストール(yumコマンド)gem 1.8.21

6. railsのインストール(gem installコマンド)rails 3.2.2

これでうまくいきました。項目3,4をやらずにrailsをインストールしようとしても

# gem install rails

  ERROR: Loading command: install (LoadError)

 no such file to load -- zlib

  ERROR: While executing gem ... (NameError)

 uninitialized constant Gem::Commands::InstallCommand

となってしまい、gem installコマンドが機能しませんでした。この項目3,4に辿り着くまでかなりの時間がかかってしまいました。いやはや。なんとか環境は整ったはずなのでレッスンを始めてみたいと思います。

ドットインストールに脱帽

IDEA*IDEAの百式管理人様が運営している、初心者向けプログラミング学習サイト「ドットインストール(dotinstall)」ですが、先日やっと招待メールが届いたので早速レッスンを始めてみました。

最初に選んだレッスン項目は、「ローカル開発環境の構築(全21回)」でした。この手のやり方などをブログ記事にしようとすると、ページ数もかなり増えるでしょうし記事自体を書くのにも手間ひまがかかります。さらに記事内に挿入しなければいけないクリックするところだとか何かしら表示される場所なんかの明示もしないといけなくなり、書き手にも読み手にも徒労がつきまといます。

そしてこのドットインストールは、画像ファイルやらテキストをバッサリと切り捨てて動画のみで作ってあるのですが、いやはや「ローカル開発環境の構築」のレッスンを終えると、名の通りPCの中に開発環境があっさりと整ってしまいました。対象が初心者向けなのもあり余計な説明は省かれ、必要な部分だけをしゃべってくれているので、2,3分弱のムービーを見て1つずつその通りにやっていけばハイ出来上がり。分からないところがあればムービーを巻き戻し、調べたいところが出たら一時停止して検索し、自分のペースで進めるのに非常に適した構成になっています。

私なんぞPCゲームのかたわら、のめり込んでも趣味レベル程度でしかプログラミングなんぞやりませんし知識もありませんが、ドットインストールには本当に脱帽しました。映像と音声をうまく利用すれば、苦だったものを楽なものに変えることができるすごさをドットインストールが教えてくれたと感じました。

これを機に、今時のプログラミングというものを少しでも覚えることができたらいいかなと思っています。

(私自身が持つ招待枠も数名ありますので、ドットインストールをやってみたいという方がいらっしゃいましたら、私のtwitterアカウントのseimaiまでダイレクトメッセージを送って下さい)