LinuxにRuby1.9.2をインストールする手順。
Rails3を使うために。
環境は、CentOS5.5。
さくらのVPS。
まずは、アップデートできるパッケージをアップデート。
yumでインストールできるRubyの最新版を見てみると、1.8.5。
それ以降のバージョンは自分で何とかしましょう、と。
Ruby1.9.2のソースをダウンロードして、ビルドしてインストールする。
インストール完了。
ところが、
zlibのヘッダーが見付からず、それ用のモジュールがビルドできないようだ。
これもyumしてビルド。
これで、
sqlite3を使うので、gemでインストールする。
エラー。
インストール済みのsqliteはバージョン3なのに。
マイナーバージョン不足でダメ出しされた。
yumで最新版になっているので、これまたソースビルドする。
と、ここで、yumの管理下にあるパッケージをソースビルドで上書きすると、
問題が出ることが判明。
そのパッケージをyumでアップデートすると、上書きされてしまうことがある。
つまり、
yum管理下のsqlite3.1を、
ソースビルドしてsqlite3.5で上書きした場合、
yum版のsqlite3.2で上書きアップデートされる。
そんなわけで、ソースからビルドしてもyumと整合性を取る方法を使う。
yumは、rpmを管理しているだけなので、rpmからインストールすれば整合性はとれる。
なので、ソースからrpmを作れるツールを使う。
使うのはcheckinstall。
これで、
/usr/local/sbin/checkinstall
がインストールされる。
とりあえず、パスは通さずに使うことにする。
よく使うのならパスを通しておくとよい。
Makefileが置いてあるディレクトリで、このコマンドを使えばrpmが作れる。
さっそく、checkinstallそれ自体をrpm化してみる。
「->」は出力されたファイル。
(arc)は、アーキテクチャ。
i386とか、x86_64とか、そういうの。
このrpmをインストールしておけば、yumの管理下に入る。
yumでlistしてみる。
よろしい。
では、sqlite3をビルドしてrpmにしてインストールする。
できた。
そして、
うまくいった。
で、
ぞろぞろとインストールされた。
yumの整合性問題はrubyにも発生するので、こちらもcheckinstallでrpm化してインストールしなおしておく。
Makefileはできているので、ディレクトリに移動してcheckinstallコマンド実行。
でき上がったrpmをインストールして完了。
これで、Linux上でRuby1.9.2とRails3がインストールできた。
動作確認。
プロジェクトが作成された。
めでたし。
Rails3を使うために。
環境は、CentOS5.5。
さくらのVPS。
まずは、アップデートできるパッケージをアップデート。
yum update
yumでインストールできるRubyの最新版を見てみると、1.8.5。
それ以降のバージョンは自分で何とかしましょう、と。
Ruby1.9.2のソースをダウンロードして、ビルドしてインストールする。
cd /usr/local/src/
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p0.tar.gz
tar zxvf ruby-1.9.2-p0.tar.gz
cd ruby-1.9.2-p0
./configure
make
make install
インストール完了。
ところが、
gem listしてみると、zlibうんぬんでエラー。
zlibのヘッダーが見付からず、それ用のモジュールがビルドできないようだ。
これもyumしてビルド。
yum install zlib-devel
cd /usr/local/src/ruby-1.9.2-p0/ext/zlib/
ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib
make
make install
これで、
gem listが動いた。
sqlite3を使うので、gemでインストールする。
gem i sqlite3-ruby
エラー。
インストール済みのsqliteはバージョン3なのに。
マイナーバージョン不足でダメ出しされた。
yumで最新版になっているので、これまたソースビルドする。
と、ここで、yumの管理下にあるパッケージをソースビルドで上書きすると、
問題が出ることが判明。
そのパッケージをyumでアップデートすると、上書きされてしまうことがある。
つまり、
yum管理下のsqlite3.1を、
ソースビルドしてsqlite3.5で上書きした場合、
yum版のsqlite3.2で上書きアップデートされる。
そんなわけで、ソースからビルドしてもyumと整合性を取る方法を使う。
yumは、rpmを管理しているだけなので、rpmからインストールすれば整合性はとれる。
なので、ソースからrpmを作れるツールを使う。
使うのはcheckinstall。
cd /usr/local/src/
wget http://asic-linux.com.mx/~izto/checkinstall/files/source/checkinstall-1.6.2.tar.gz
tar zxvf checkinstall-1.6.2.tar.gz
cd checkinstall-1.6.2.tar.gz
make install
これで、
/usr/local/sbin/checkinstall
がインストールされる。
とりあえず、パスは通さずに使うことにする。
よく使うのならパスを通しておくとよい。
Makefileが置いてあるディレクトリで、このコマンドを使えばrpmが作れる。
さっそく、checkinstallそれ自体をrpm化してみる。
/usr/local/sbin/checkinstall
-> /usr/src/redhat/RPMS/(arch)/checkinstall-1.6.2-1.(arch).rpm
「->」は出力されたファイル。
(arc)は、アーキテクチャ。
i386とか、x86_64とか、そういうの。
このrpmをインストールしておけば、yumの管理下に入る。
cd /usr/src/redhat/RPMS/(arch)/
rpm -i checkinstall-1.6.2-1.(arch).rpm
yumでlistしてみる。
yum list checkinstall
-> checkinstall.(arch) 1.6.2-1 installed
よろしい。
では、sqlite3をビルドしてrpmにしてインストールする。
cd /usr/local/src/
wget http://www.sqlite.org/sqlite-amalgamation-3.7.2.tar.gz
tar zxvf sqlite-amalgamation-3.7.2.tar.gz
cd sqlite-3.7.2
./configure
/usr/local/sbin/checkinstall
-> /usr/src/redhat/RPMS/(arch)/sqlite-3.7.2-1.(arch).rpm
cd /usr/src/redhat/RPMS/(arch)/
rpm -i sqlite-3.7.2-1.(arch).rpm
できた。
そして、
gem i sqlite3-ruby
うまくいった。
で、
gem i rails
ぞろぞろとインストールされた。
yumの整合性問題はrubyにも発生するので、こちらもcheckinstallでrpm化してインストールしなおしておく。
Makefileはできているので、ディレクトリに移動してcheckinstallコマンド実行。
でき上がったrpmをインストールして完了。
これで、Linux上でRuby1.9.2とRails3がインストールできた。
動作確認。
rails new blog
プロジェクトが作成された。
めでたし。
コメントする