コレグレーデギネード

WindowsとかUbuntuとかRubyとかRailsとか

RVMでRubyとGem環境を切り替え。Railsのインストールまで。

とりあえず、本家を確認。https://rvm.io/rvm/install/

RVMのインストール。
su権限はいらねーらしい。へー、そーげ。

$ curl -L get.rvm.io | bash -s stable
プログラム 'curl' はまだインストールされていません。
次のように入力することでインストールできます:
sudo apt-get install curl

何だど!さぎに言え!

$ sudo apt-get install curl
$ curl -L get.rvm.io | bash -s stable

〜省略〜

Upgrading the RVM installation in /home/username/.rvm/
    RVM PATH line found in /home/username/.bashrc /home/username/.zshrc.
    RVM sourcing line found in /home/username/.bash_login /home/username/.zlogin.

Upgrade Notes:

  * No new notes to display.

# RVM:  Shell scripts enabling management of multiple ruby environments.
# RTFM: https://rvm.io/
# HELP: http://webchat.freenode.net/?channels=rvm (#rvm on irc.freenode.net)
# Cheatsheet: http://cheat.errtheblog.com/s/rvm/
# Screencast: http://screencasts.org/episodes/how-to-use-rvm

# In case of any issues read output of 'rvm requirements' and/or 'rvm notes'

Upgrade of RVM in /home/username/.rvm/ is complete.

# username,
#
#   Thank you for using RVM!
#   I sincerely hope that RVM helps to make your life easier and more enjoyable!!!
#
# ~Wayne


rvm 1.13.4 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

よーし。確認。

$ rvm -v
プログラム 'rvm' はまだインストールされていません。
次のように入力することでインストールできます:
sudo apt-get install ruby-rvm

何だべ!今いれだべした。コンプリートだのエンジョイだのってぇ。
ちなみにruby-rvm←これ入れるとはまっつぉ。入れんなよー。

調べる。考える。すねる。調べる。考える。
ターミナルを再起動?あっほうですかい。

$ rvm -v
rvm 1.13.4 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, 
Michal Papis <mpapis@gmail.com> [https://rvm.io/]

よーし。
本家より…rvm requirementsで必要なパッケージ等が判るらしい。

$ rvm requirements

Requirements for Linux ( DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04 LTS" )

NOTE: 'ruby' represents Matz's Ruby Interpreter (MRI) (1.8.X, 1.9.X)
             This is the *original* / standard Ruby Language Interpreter
      'ree'  represents Ruby Enterprise Edition
      'rbx'  represents Rubinius

bash >= 4.1 required
curl is required
git is required (>= 1.7 for ruby-head)
patch is required (for 1.8 rubies and some ruby-head's).

To install rbx and/or Ruby 1.9 head (MRI) (eg. 1.9.2-head),
then you must install and use rvm 1.8.7 first.

Additional Dependencies:
# For Ruby / Ruby HEAD (MRI, Rubinius, & REE), install the following:
  ruby: /usr/bin/apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion
〜省略〜

つーごどで、ruby: /usr/bin/apt-get install以下のパッケージをズドーンと入れる。

$ sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion

よーし。
次に、list knownでrubyのインストール候補を確認。

$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-p358]
[ruby-]1.8.7-head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2-p180
[ruby-]1.9.2-p290
[ruby-]1.9.2-p318
[ruby-]1.9.2[-p320]
[ruby-]1.9.2-head
[ruby-]1.9.3-preview1
[ruby-]1.9.3-rc1
[ruby-]1.9.3-p0
[ruby-]1.9.3-p125
[ruby-]1.9.3-[p194]
[ruby-]1.9.3-head
ruby-head
〜省略〜

なーんだって、いっぺーあんな。1.8.7と1.9.3あだりでいいべ。
とりあえず1.8.7の最新をインストール。

$ rvm install 1.8.7-head
Installing Ruby from source to: /home/username/.rvm/rubies/ruby-1.8.7-head, this may take a while depending on your cpu(s)...

ruby-1.8.7-head - #fetching 
HEAD is now at 698d21a merge revision(s) 35325:
From git://github.com/ruby/ruby
 * branch            ruby_1_8_7 -> FETCH_HEAD
Already up-to-date.
Copying from repo to src path...
Applying patch 'stdout-rouge-fix' (located at /home/username/.rvm/patches/ruby/1.8.7/stdout-rouge-fix.patch)
Applying patch 'no_sslv2' (located at /home/username/.rvm/patches/ruby/1.8.7/no_sslv2.diff)
ruby-1.8.7-head - #autoreconf
ruby-1.8.7-head - #configuring 
ruby-1.8.7-head - #compiling 
ruby-1.8.7-head - #installing 
Removing old Rubygems files...
Installing rubygems-1.8.24 for ruby-1.8.7-head ...
Installation of rubygems completed successfully.
ruby-1.8.7-head - adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
ruby-1.8.7-head - #importing default gemsets (/home/username/.rvm/gemsets/)
Install of ruby-1.8.7-head - #complete 
Please be aware that you just installed a ruby that requires 2 patches just to be compiled on up to date linux system.
This may have known and unaccounted for security vulnerabilities.
Please consider upgrading to Ruby 1.9.3-194 which will have all of the latest security patches.

RVM is not a function, selecting rubies with 'rvm use ...' will not work.
Please visit https://rvm.io/integration/gnome-terminal/ for a solution.

何だが最後にhttps://rvm.io/integration/gnome-terminal/を見でくらんしょって言わっちゃ。読んだげんちょもおら日本男児だがらわがんねな。ググっぺ。

  • gnome-terminalのメニューで「編集」→「プロファイルの設定」→「タイトルとコマンド」→「ログインシェルとしてコマンドを実行する」のチェックを入れる。
  • .bashrc か .zshrcの末尾に「source /etc/profile.d/rvm.sh」を加える。

へー、そーげ。でもrvm.shなんつーファイルはねーよ。
んじゃ、1.9.3入れます。

$ rvm install 1.9.3-head
Fetching yaml-0.1.4.tar.gz to /home/username/.rvm/archives
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  460k  100  460k    0     0   254k      0  0:00:01  0:00:01 --:--:--  284k
Extracting yaml-0.1.4.tar.gz to /home/username/.rvm/src
Prepare yaml in /home/username/.rvm/src/yaml-0.1.4.
Configuring yaml in /home/username/.rvm/src/yaml-0.1.4.
Compiling yaml in /home/username/.rvm/src/yaml-0.1.4.
Installing yaml to /home/username/.rvm/usr
Installing Ruby from source to: /home/username/.rvm/rubies/ruby-1.9.3-head, this may take a while depending on your cpu(s)...

ruby-1.9.3-head - #fetching 
HEAD is now at 698d21a merge revision(s) 35325:
Branch ruby_1_9_3 set up to track remote branch ruby_1_9_3 from origin.
Switched to a new branch 'ruby_1_9_3'
Copying from repo to src path...
ruby-1.9.3-head - #autoreconf
ruby-1.9.3-head - #configuring 
ruby-1.9.3-head - #compiling 
ruby-1.9.3-head - #installing 
Removing old Rubygems files...
Installing rubygems-1.8.24 for ruby-1.9.3-head ...
Installation of rubygems completed successfully.
ruby-1.9.3-head - adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
ruby-1.9.3-head - #importing default gemsets (/home/username/.rvm/gemsets/)
Install of ruby-1.9.3-head - #complete

っほう!いいでねーのぉ。

$ rvm list
rvm rubies

   ruby-1.8.7-head [ i686 ]
   ruby-1.9.3-head [ i686 ]

# Default ruby not set. Try 'rvm alias create default <ruby>'.

# => - current
# =* - current && default
#  * - default

デフォルトのrubyが設定されでねーってが!

$ rvm alias create default ruby-1.9.3-head
Creating alias default for ruby-1.9.3-head.
Recording alias default for ruby-1.9.3-head.
Creating default links/files

ついでに、使用するrubyバージョンも指定。

$ rvm use 1.9.3-head
Using /home/username/.rvm/gems/ruby-1.9.3-head

もういっちょ。

$ rvm list

rvm rubies

   ruby-1.8.7-head [ i686 ]
=* ruby-1.9.3-head [ i686 ]

# => - current
# =* - current && default
#  * - default

よーし。
rubyのバージョンを確認。

$ ruby -v
ruby 1.9.3p203 (2012-05-04 revision 35536) [i686-linux]

そういえばrubygemsもインストールされてたようだけど…確認してみる。

$ gem -v
1.8.24
$ gem list

*** LOCAL GEMS ***

bundler (1.1.3)
rake (0.9.2.2)
rubygems-bundler (0.9.0)
rvm (1.11.3.3)

gemsetでgem環境も切り替えしてみる。
rails3というgemsetを作成して、gemset useで使うぞーって。

$ rvm gemset create rails3
'rails3' gemset created (/home/username/.rvm/gems/ruby-1.9.3-head@rails3).

$ rvm gemset list
gemsets for ruby-1.9.3-head (found in /home/username/.rvm/gems/ruby-1.9.3-head)
   global
   rails3

$ rvm gemset use rails3
Using ruby-1.9.3-head with gemset rails3

$ rvm gemset list
gemsets for ruby-1.9.3-head (found in /home/username/.rvm/gems/ruby-1.9.3-head)
   global
=> rails3

gemset rails3にrailsをインストール。

$ rvm gemset install rails
installing rails ...
rails  installed.

$ gem list
*** LOCAL GEMS ***

actionmailer (3.2.3)
actionpack (3.2.3)
activemodel (3.2.3)
activerecord (3.2.3)
activeresource (3.2.3)
activesupport (3.2.3)
arel (3.0.2)
builder (3.0.0)
bundler (1.1.3)
erubis (2.7.0)
hike (1.2.1)
i18n (0.6.0)
journey (1.0.3)
json (1.7.0)
mail (2.4.4)
mime-types (1.18)
multi_json (1.3.4)
polyglot (0.3.3)
rack (1.4.1)
rack-cache (1.2)
rack-ssl (1.3.2)
rack-test (0.6.1)
rails (3.2.3)
railties (3.2.3)
rake (0.9.2.2)
rdoc (3.12)
rubygems-bundler (0.9.0)
rvm (1.11.3.3)
sprockets (2.1.3)
thor (0.14.6)
tilt (1.3.3)
treetop (1.4.10)
tzinfo (0.3.33)

おー、入っとる入っとる。
念のため、globalのgemsetを確認。

$ rvm gemset use global
Using ruby-1.9.3-head with gemset global

& gem list
*** LOCAL GEMS ***

bundler (1.1.3)
rake (0.9.2.2)
rubygems-bundler (0.9.0)
rvm (1.11.3.3)

おっけー。切り替えできてます。