ユーザー権限でruby1.9.1@x86_64-linuxをインストールする
ユーザー権限しかないサーバーで、Rubyの最新版を入れてみる。
最新版Rubyをインストールする
$ mkdir ~/src # 作業用ディレクトリ $ cd ~/src # 作業用ディレクトリに移動 $ wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p243.tar.bz2 # 最新版を取得 $ tar xjvf ruby-1.9.1-p243.tar.bz2 # 解凍 $ cd ruby-1.9.1-p243 #解凍したディレクトリに移動 $ ./configure --prefix=$HOME optflags=-O3 #インストール先を $HOME にする #x86_64環境だと optflags=-O3 をつけないと途中で止まる $ make # コンパイル $ make install # インストール
インストール先は書き込み権限のある $HOME
x86_64環境だと、optflags=-O3がないとコンパイル途中で止まってしまった
(via 1.9.1のビルドがparse.cのコンパイルで詰まっていた件 - `The rubyist'【えぬ】の日記 - Rubyist)
環境変数の設定
bash,zshなら~/.bashrc,~/zshrcに書くといいと思うよ
export PATH=:$HOME/bin:$PATH export INCLUDE=$HOME/include
INCLUDE は gcc とかが見に来る。
RubyGemsを使ってみる
$ rubygems install twitter /path/to/home/lib/ruby/1.9.1/rubygems/package.rb:10:in `require': no such file to load -- zlib (LoadError) #以下略
zlibが必要ですかそうですか。
rubyインストール時に先にzlibにパスを通しておくといいみたいだけど知らない。
(via ruby 1.9.1-p0 @ Visual C++ 2005 - anon_193の日記)
zlib拡張のコンパイル・インストール
zlibはrubyのアーカイブのext/zlibにあるのでコンパイルしに行く
$ cd ~/src/ruby-1.9.1-p243/ext/zlib $ ruby extdonf.rb checking for deflateReset() in -lz... no checking for deflateReset() in -llibz... no checking for deflateReset() in -lzlib1... no checking for deflateReset() in -lzlib... no checking for deflateReset() in -lzdll... no
ぐぬぬ。zlib自体が必要なようですね。
zlib自体のコンパイル・インストール
$ cd ~/src $ wget http://www.zlib.net/zlib-1.2.3.tar.bz2 $ tar xjvf zlib-1.2.3.tar.bz2 $ cd zlib-1.2.3 $ ./configure --prefix=$HOME -s
インストール先は同じく$HOME
- sをつけないと、この後の ruby extconf.rb で
libz.a: could not read symbols: Bad value
になるので、つける。意味は知らない。
(via Derakunの備忘録 Clamscanのインストール)
ここで先ほど環境変数INCLUDEを指定していないとヘッダが見つからないだの言われると思う。
rubyのアーカイブに戻ってもういちどruby extconf.rb
$ ruby extconf.rb checking for deflateReset() in -lz... yes checking for zlib.h... no
むー、環境変数INCLUDEは見てくれないようだ。だから自分で指定する。
$ ruby extconf.rb --with-opt-include=$INCLUDE checking for deflateReset() in -lz... yes checking for zlib.h... yes checking for kind of operating system... Unix creating Makefile
Makefileができました。
$ make $ make install
インストール完了!
気を取り直してRubyGemsを使ってみる
$ rubygems install twitter When you HTTParty, you must party hard! Successfully installed rubyforge-1.0.4 Successfully installed rake-0.8.7 Successfully installed hoe-2.3.3 Successfully installed ruby-hmac-0.3.2 Successfully installed oauth-0.3.5 Successfully installed mash-0.0.3 Successfully installed crack-0.1.4 Successfully installed httparty-0.4.3 Successfully installed twitter-0.6.15 9 gems installed
できた!やった!
$ gem install json Building native extensions. This could take a while... Successfully installed json-1.1.9 1 gem installed
Native Extensionsもこの通り!
※ちなみに ~/.gemrc 内で gem: --no-ri --no-rdoc を指定しています。