CentOS5.5 に ruby/gem/heroku をインストール

hroku + node.js をちょっと試したくてさくらの512に ruby/gem/heroku をインストールした時のメモを公開。

とりあえず heroku をインストールするのに gem が必要で gem をインストールするのに ruby が必要そう。なので順番としては

  • ruby インストール
  • gem インストール
  • heroku インストール
  • になります。

    ただ途中ぬけてる部分もあるので、この通りにやれば100%うまくいくってわけではないので予めご了承ください。もしうまくいってしまったらコメントしておいてもらえると助かります。

    コマンドは root とか sudo を適宜使ってくださいませ。あとソース置く場所とかも適宜。

    ではスタート

    Ruby のインストール

    [bash]

    # yum install ruby

    [/bash]

    gem をソースからインストール

    [bash]

    # wget http://rubyforge.org/frs/download.php/75711/rubygems-1.8.15.tgz

    # tar zxvf rubygems-1.8.15.tgz

    # cd rubygems-1.8.15

    # ruby setup.rb

    [/bash]

    ここでエラー。エラーの一部にこんな文字があって、

    really works on 1.8.7?

    ruby1.8.7じゃないと動かないのかな?と思って、まず yum でインストールした ruby を remove

    [bash]

    # yum remove ruby

    [/bash]

    ruby をソースからインストール

    [bash]

    # wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p357.zip

    # unzip ruby-1.8.7-p357.zip

    # cd ruby-1.8.7-p357

    # ./configure

    # make

    # make install

    [/bash]

    再起動したら

    [bash]

    # ruby -v

    ruby 1.8.7 (2011-12-28 patchlevel 357) [x86_64-linux]

    [/bash]

    OK

    再度 setup.rb を実行

    [bash]

    # sudo ruby setup.rb

    RubyGems 1.8.15 installed

    == 1.8.15 / 2012-01-06

    * 1 bug fix:

    * Don't eager load yaml, it creates a bad loop. Fixes #256

    ------------------------------------------------------------------------------

    RubyGems installed the following executables:

    /usr/local/bin/gem

    [/bash]

    [bash]

    # gem -v

    1.8.15

    [/bash]

    OK

    heroku のインストール

    [bash]

    # gem install heroku

    [/bash]

    OK

    しかし、heroku コマンドを使うとエラー

    [bash]

    # heroku login

    /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require': no such file to load -- readline (LoadError)

    from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'

    from /usr/local/lib/ruby/gems/1.8/gems/heroku-2.19.2/lib/heroku/command/run.rb:1

    from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'

    from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'

    from /usr/local/lib/ruby/gems/1.8/gems/heroku-2.19.2/lib/heroku/command.rb:14:in `load'

    from /usr/local/lib/ruby/gems/1.8/gems/heroku-2.19.2/lib/heroku/command.rb:13:in `each'

    from /usr/local/lib/ruby/gems/1.8/gems/heroku-2.19.2/lib/heroku/command.rb:13:in `load'

    from /usr/local/lib/ruby/gems/1.8/gems/heroku-2.19.2/lib/heroku/cli.rb:8:in `start'

    from /usr/local/lib/ruby/gems/1.8/gems/heroku-2.19.2/bin/heroku:15

    from /usr/local/bin/heroku:19:in `load'

    from /usr/local/bin/heroku:19

    [/bash]

    readline-devel をインストール

    [bash]

    # yum install readline-devel

    [/bash]

    再度 heroku login するも、変わらない

    色々調べてたら、ruby ソースの中に extconf.rb があってそれを実行すると反映される(?)っぽいことをどこかのブログで知って試す

    [bash]

    # cd /usr/local/src/ruby-1.8.7-p357/ext/readline

    # ruby extconf.rb

    # make

    # make install

    [/bash]

    で、再度試すと、

    [bash]

    # heroku login

    Enter your Heroku credentials.

    Email:

    [/bash]

    キタ――(゚∀゚)――!!

    node の環境は既に出来てるので heroku + node.js の環境はとりあえず構築できた気がする。

    あ、でも heroku では node 0.4.7 を使ってるっぽいので開発環境も 0.4.7 にする必要があるかも。バージョンは選べないのかなー。

    Getting Started with Node.js on Heroku/Cedar