さくらインターネットのスタンダードにRubyの最新版とRuby on Railsをダウンロードする手順を紹介します.
0. 事前準備
Gitをまずインストールします.
既にインストールしている方は読み飛ばしてください.
1 2 3 4 5 |
$ wget --no-check-certificate https://git-core.googlecode.com/files/git-1.8.3.1.tar.gz $ tar zxvf git-1.8.3.1.tar.gz $ cd git-1.8.3.1 $ ./configure --prefix=$HOME --enable-pthreads=-pthread --with-curl=/usr/local $ gmake && gmake install |
1. rbenvのインストール
まず、rubyのインストールに利用するrbenvをインストールします.
rbenvを使うことでローカルディレクトリ毎に Ruby のバージョンを指定できます.
直接rubyをインストールしてもいいのですが、さくらインターネットにはデフォルトでrubyが入っているため、複数のバージョンを管理できるソフトを入れています.
まず Gitからclone.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
% git clone https://github.com/sstephenson/rbenv.git ~/.rbenv Cloning into '/home/myuser/.rbenv'... remote: Counting objects: 2002, done. remote: Total 2002 (delta 0), reused 0 (delta 0) Receiving objects: 100% (2002/2002), 318.89 KiB | 247.00 KiB/s, done. Resolving deltas: 100% (1249/1249), done. Checking connectivity... done. % mkdir ./.rbenv/plugins % git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build Cloning into '/home/myuser/.rbenv/plugins/ruby-build'... remote: Counting objects: 4296, done. remote: Compressing objects: 100% (38/38), done. remote: Total 4296 (delta 28), reused 0 (delta 0) Receiving objects: 100% (4296/4296), 778.30 KiB | 393.00 KiB/s, done. Resolving deltas: 100% (2211/2211), done. Checking connectivity... done. |
次にbashの設定を追加.
1 2 3 |
% echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc % echo 'eval "$(rbenv init -)"' >> ~/.bashrc |
以下はbashに切り替えて作業してください.
1 2 3 4 5 6 7 8 |
% bash # これでbashに切り替える.以下、コンソールが%→$に変わったことが分かる. # 以下、インストール作業続行 $ source ~/.bashrc $ rbenv --version rbenv 0.4.0-129-g7e0e85b |
最後のrbenvでバージョンが表示されれば成功です.
注意点
デフォルトのcshのままだと、source 実行時に以下のようなエラーメッセージが出ます.
1 2 3 4 |
% source ~/.bashrc export: Command not found. Illegal variable name. |
これは、一行目が示している通り、exportコマンドがうまく実行できていないことが原因です.
tschではexportではなくsetenvを用いる必要があります.
が、わざわざ手順を変えなくても、シェルを切り替えるだけで済ませられます.
1 2 3 4 5 6 7 8 9 10 11 12 |
% export export: Command not found. % bash $ export # 環境変数がされる. declare -x BLOCKSIZE="K" declare -x EDITOR="vi" declare -x FTP_PASSIVE_MODE="YES" declare -x GROUP="users" ... |
2.Rubyのインストール
次は、いよいよrubyのインストールです.
まず、以下の環境変数を設定します.
* ここから見ている方は、bashで作業するよう気をつけてください
* 通常のLinux環境であれば設定不要です.共用サーバのような /tmpが利用できない環境ではこの設定をしてください.
1 2 3 |
$ echo 'export TMPDIR=$HOME/tmp' >> ~/.bashrc $ echo 'export MAKE=gmake' >> ~/.bashrc $ source ./.bashrc |
rubyの最新バージョン(2015/1/17時点では2.2.0)をインストールしま...したが、エラーが出て失敗.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
$ rbenv install 2.2.0 Downloading ruby-2.2.0.tar.gz... -> http://dqw8nmjcqpjn7.cloudfront.net/7671e394abfb5d262fbcd3b27a71bf78737c7e9347fa21c39e58b0bb9c4840fc Installing ruby-2.2.0... BUILD FAILED (FreeBSD 9.1-RELEASE-p15 using ruby-build 20150116) Inspect or clean up the working tree at /home/myuser/tmp/ruby-build.20150117113335.22695 Results logged to /home/myuser/tmp/ruby-build.20150117113335.22695.log Last 10 log lines: vm_method.c: In function 'rb_add_method': vm_method.c:484: warning: passing argument 2 of 'rb_obj_write' discards qualifiers from pointer target type vm_method.c:489: warning: passing argument 2 of 'rb_obj_write' discards qualifiers from pointer target type vm_method.c:493: warning: passing argument 2 of 'rb_obj_write' discards qualifiers from pointer target type vm.c: In function 'vm_define_method': vm.c:2262: warning: passing argument 2 of 'rb_obj_write' discards qualifiers from pointer target type linking miniruby vm_dump.o: In function `procstat_vm': /home/myuser/tmp/ruby-build.20150117113335.22695/ruby-2.2.0/vm_dump.c:738: undefined reference to `procstat_getvmmap' gmake: *** [miniruby] Error 1 |
gmakeで失敗してしまっています.
仕方ないので少し古い2.1.5をインストールしてみました.これは成功.(インストール可能なrubyのバージョンは、rbenv install –list で確認できます.)
1 2 3 4 5 |
$ rbenv install 2.1.5 Downloading ruby-2.1.5.tar.gz... -> http://dqw8nmjcqpjn7.cloudfront.net/4305cc6ceb094df55210d83548dcbeb5117d74eea25196a9b14fa268d354b100 Installing ruby-2.1.5... Installed ruby-2.1.5 to /home/myuser/.rbenv/versions/2.1.5 |
インストールが完了したことは rbenv versions で確認できます.
1 2 3 |
$ rbenv versions * system (set by /home/myuser/.rbenv/version) 2.1.5 |
この段階ではrubyのバージョンは変わっていません.( *アスタリスクがついているrubyが有効になっています.)
実際に確認してみます.
1 2 |
$ ruby --version ruby 1.9.3p374 (2013-01-15 revision 38858) [x86_64-freebsd9.1] |
次にrubyのバージョンを変えてみます.
rbenvはディレクトリ毎に実行するrubyのバージョンを変更できます.
1 2 3 4 5 6 |
$ mkdir rubyapps $ cd rubyapps $ rbenv local 2.1.5 $ rbenv versions system * 2.1.5 (set by /home/myuser/rubyapps/.ruby-version) |
特定のディレクトリではなく、全体のバージョンを変える時はrbenv globalです.
1 |
$ rbenv global 2.1.5 |
3. Rails のインストール
最後はrailsのインストールです.
2015/1/16段階でgemを実行するとエラーが発生します.
1 2 3 |
$ gem install rails --version 4.2.0 ERROR: Could not find a valid gem 'rails' (= 4.2.0), here is why: Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/specs.4.8.gz) |
これは証明書のバージョンによるものなので、証明書のバージョンをあげる必要があります.
自分のWindows端末なら、勝手に証明書を入れればいいんですが(手順はこんな感じ)、共用サーバで勝手にアップデートするのはまずいかもしれません.
そこで、今回はsslを使わずにインストールするようにします.
1 2 3 4 5 |
$ gem source --add http://rubygems.org https://rubygems.org is recommended for security over http://rubygems.org Do you want to add this insecure source? [yn] y http://rubygems.org added to sources |
途中、安全ではないと言われますが、y > Enter で続行します.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
$ gem install rails --version 4.2.0 Fetching: thread_safe-0.3.4.gem (100%) Successfully installed thread_safe-0.3.4 Fetching: minitest-5.5.1.gem (100%) Successfully installed minitest-5.5.1 Fetching: tzinfo-1.2.2.gem (100%) Successfully installed tzinfo-1.2.2 Fetching: i18n-0.7.0.gem (100%) Successfully installed i18n-0.7.0 Fetching: activesupport-4.2.0.gem (100%) Successfully installed activesupport-4.2.0 Fetching: rails-deprecated_sanitizer-1.0.3.gem (100%) Successfully installed rails-deprecated_sanitizer-1.0.3 Fetching: mini_portile-0.6.2.gem (100%) Successfully installed mini_portile-0.6.2 Fetching: nokogiri-1.6.5.gem (100%) Building native extensions. This could take a while... ERROR: Error installing rails: ERROR: Failed to build gem native extension. /home/myuser/.rbenv/versions/2.1.5/bin/ruby extconf.rb checking if the C compiler accepts ... yes Building nokogiri using packaged libraries. checking for iconv... no ----- libiconv is missing. Please locate mkmf.log to investigate how it is failing. ----- *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/home/myuser/.rbenv/versions/2.1.5/bin/ruby --help --clean --use-system-libraries --enable-static --disable-static --with-zlib-dir --without-zlib-dir --with-zlib-include --without-zlib-include=${zlib-dir}/include --with-zlib-lib --without-zlib-lib=${zlib-dir}/lib --enable-cross-build --disable-cross-build extconf failed, exit code 1 Gem files will remain installed in /home/myuser/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/nokogiri-1.6.5 for inspection. Results logged to /home/myuser/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/extensions/x86_64-freebsd-9/2.1.0-static/nokogiri-1.6.5/gem_make.out |
最新版は諦めて、4.1.0をインストールします.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
$ gem install rails --version 4.1.0 Fetching: activesupport-4.1.0.gem (100%) Successfully installed activesupport-4.1.0 Fetching: actionview-4.1.0.gem (100%) Successfully installed actionview-4.1.0 Fetching: actionpack-4.1.0.gem (100%) Successfully installed actionpack-4.1.0 Fetching: activemodel-4.1.0.gem (100%) Successfully installed activemodel-4.1.0 Fetching: arel-5.0.1.20140414130214.gem (100%) Successfully installed arel-5.0.1.20140414130214 Fetching: activerecord-4.1.0.gem (100%) Successfully installed activerecord-4.1.0 Fetching: actionmailer-4.1.0.gem (100%) Successfully installed actionmailer-4.1.0 Fetching: railties-4.1.0.gem (100%) Successfully installed railties-4.1.0 Fetching: rails-4.1.0.gem (100%) Successfully installed rails-4.1.0 Parsing documentation for actionmailer-4.1.0 Installing ri documentation for actionmailer-4.1.0 Parsing documentation for actionpack-4.1.0 Installing ri documentation for actionpack-4.1.0 Parsing documentation for actionview-4.1.0 Installing ri documentation for actionview-4.1.0 Parsing documentation for activemodel-4.1.0 Installing ri documentation for activemodel-4.1.0 Parsing documentation for activerecord-4.1.0 Installing ri documentation for activerecord-4.1.0 Parsing documentation for activesupport-4.1.0 Installing ri documentation for activesupport-4.1.0 Parsing documentation for arel-5.0.1.20140414130214 Installing ri documentation for arel-5.0.1.20140414130214 Parsing documentation for rails-4.1.0 Installing ri documentation for rails-4.1.0 Parsing documentation for railties-4.1.0 Installing ri documentation for railties-4.1.0 Done installing documentation for actionmailer, actionpack, actionview, activemodel, activerecord, activesupport, arel, rails, railties after 344 seconds WARNING: Unable to pull data from 'https://rubygems.org/': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/specs.4.8.gz) 9 gems installed $ rails --version Rails 4.1.0 |
これでインストール完了です.
Pingback: Rails アプリケーションの作成AICS | AICS
Pingback: さくら共有サーバーでtwitterを扱うメモ | 愛のらくがき帳
http://kawairi.jp/weblog/vita/2015010319009
の
NOKOGIRI_USE_SYSTEM_LIBRARIES=1 gem install nokogiri –no-rdoc –no-ri
を実施したら、Rails 4.2をいれれました。
% rbenv install –patch 2.2.2 < <(curl -sSL https://github.com/ruby/ruby/commit/5a62fdee4d166fe0eff14bc616e1befa8ad54cd2.patch)