ペンギンの機械

Linux関連の備忘録とか、一眼とか。

Ruby on Railsの環境構築

Ruby on Railsの環境づくりをしよう。

目的は、単純に興味本位。


<手順>

1.下記からRubyの最新安定版をDL

https://www.ruby-lang.org/ja/downloads/
(2014/6/17現在は、2.1.2)

2.ダウンロードディレクトリで下記コマンドを実行

$ tar zxvf ruby-2.1.2.tar.gz
$ cd ruby-2.1.2
$ ./configure
$ make
$ sudo make install

インストールが完了すると、こんな感じ。

$ ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]

3.下記URLからSQLiteをDL
http://www.sqlite.org/download.html
(2014/6/17現在は、3080500)

4.ダウンロードディレクトリで下記コマンドを実行

$ tar zxvf sqlite-autoconf-3080500.tar.gz
$ cd sqlite-autoconf-3080500
$ ./configure
$ sudo make
$ sudo make install

インストールが完了すると、こんな感じ。

$ sqlite3 -version
3.8.5 2014-06-04 14:06:34 b1ed4f2a34ba66c29b130f8d13e9092758019212

下記のようなエラーが表示された場合は、共有ライブラリをシステムが認識してない。
ldconfigで回避。

$ sqlite3 -version
SQLite header and source version mismatch

$ sudo ldconfig

[感謝]
http://vps.fean.info/archives/server71.html
http://linuxcom.info/linux-cmd-ldconfig.html

ちなみに、ldconfigとは、共有ライブラリの依存関係情報を更新するためのコマンド。
管理者権限で実行することができる。

4.Node.jsをインストール。
下記にて、ダウンロード。
http://nodejs.org/download/
(2014/6/17現在は、0.10.29)

tar zxvf node-v0.10.29.tar.gz 
cd node-v0.10.29/
./configure
sudo make
sudo make install

え、g++入ってないの?
さすがデスクトップユース。
下記にてインストール。

sudo apt-get install g++

インストールしたあとはこんな感じ。

node -v
v0.10.29

5.RubyからSQLiteへアクセス可能にするために、SQLite用のgemをインストール

$ sudo gem install sqlite3

下記エラーのようなエラーが表示された場合は、zlibがインストールされていません。
apt-getからインストールして、zlibだけmake。

$ sudo apt-get install zlib1g-dev
$ cd ext/zlib
$ ruby extconf.rb
$ sudo make
$ sudo make install

その後opensslのエラーが出たら、ext/opensslのMakefileに下記を追加。

top_srcdir = $(topdir)/../..

なぜこれでうまく行くかというと、Rubyのトップディレクトリにthread_native.hがあるから。
なので、ext/opensslディレクトリから見て、2階層上のディレクトリをソースディレクトリとしてMakefile内で定義することでmakeできます。

[感謝]
http://ameblo.jp/nikatabushi/entry-11783310218.html
http://stackoverflow.com/questions/21498868/install-openssl-support-for-selfcompiled-ruby-installation

6.Railsのインストール
下記コマンドでインストール。

$ sudo gem install rails

インストールには結構時間がかかる。

インストール完了後はこんな感じ。

$ rails -v
Rails 4.1.1
  • 結果

というわけで、下記のような環境で、Ruby on Railsを動かしてみます。

ruby 2.1.2p95
SQLite3 3.8.5
Node.js v0.10.29
Rails 4.1.1