今回は、Amazon Linux への Rails4 のインストールについて、説明します。
Amazon Linux は「Amazon Linux AMI 2014.09 (HVM) - ami-35072834」を使用しました。
まず、インストールされている ruby のバージョンを確認して下さい。
下記のように、ruby 2.0 以上のバージョンが表示されていれば、OK です。
gem コマンドで Rails4 をインストールします。
下記のコマンドで bcrypt-ruby をインストールします。
しかし、下記のように失敗します。
- Fetching: bcrypt-ruby-3.0.1.gem (100%)
- Building native extensions. This could take a while...
- ERROR: Error installing bcrypt-ruby:
- ERROR: Failed to build gem native extension.
- /usr/bin/ruby2.0 extconf.rb
- mkmf.rb can't find header files for ruby at /usr/share/ruby/include/ruby.h
- Gem files will remain installed in /home/ec2-user/.gem/ruby/2.0/gems/bcrypt-ruby-3.0.1 for inspection.
- Results logged to /home/ec2-user/.gem/ruby/2.0/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out
原因は、ruby-devel や gcc コンパイラなどがインストールされていないことにあります。
まず、ruby-devel をインストールします。
次に、gcc コンパイラなどをインストールします。
ようやく、これで bcrypt-ruby がインストールできます。
sqlite3 の gem のインストールで、下記のようにエラーが表示されることがあります。
- Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
- /usr/bin/ruby2.0 extconf.rb
- checking for main() in -lpthread... yes
- creating Makefile
- make "DESTDIR="
- g++ -I. -I/home/ec2-user/.gem/ruby/2.0/gems/libv8-3.16.14.7-x86_64-linux/vendor/v8/include -I/usr/include/ruby/2.0 -I/usr/include/ruby/2.0/ruby/backward -I/usr/include/ruby/2.0 -I. -Wall -g -rdynamic -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -mtune=generic -m64 -o script.o -c script.cc
- make: g++: Command not found
- make: *** [script.o] Error 127
- Gem files will remain installed in /home/ec2-user/.gem/ruby/2.0/gems/therubyracer-0.12.1 for inspection.
- Results logged to /home/ec2-user/.gem/ruby/2.0/gems/therubyracer-0.12.1/ext/v8/gem_make.out
- An error occurred while installing therubyracer (0.12.1), and Bundler cannot continue.
- Make sure that `gem install therubyracer -v '0.12.1'` succeeds before bundling.
原因は、g++ がインストールされていないこと。therubyracer の gem がインストールされていないことにあります。
下記のコマンドで g++ をインストールして下さい。
下記のコマンドで、therubyracer をインストールして下さい。
これで、ようやく下記のコマンドで sqlite3 のインストールが行えます。