LionにRails3の開発環境を構築するよ (その1)

MacBookの時は怖くてできなかったMac上へのRails開発環境構築。

今までRailsの開発はVineLinux上でやってたんだけど。。。

$ cat /etc/issue

Vine Linux 4.2 (Lynch Bages)
Kernel 2.6.16-76.51vl4 on an i686

$ rpm -q glibc
glibc-2.3.4-2vl3.3

$ ruby -v
ruby 1.8.5 (2006-08-25) [i386-linux]

$ gem -v
1.3.5

$ rails -v
Rails 2.3.5

OSアップデートなくして これ以上、先に進むのは困難という判断。。。


いままではMacBookがメインマシンだったのでいまいち乗り気になれなかったけど iMac も来た事だし、そろそろ思いきってMac上にRailsの開発環境を構築しようと思う。

Heroku使ってみたいだけなんだけどね。

目指すとこ

とりあえず

  • RVM
  • Rails3

な感じまで目指す

現状調査

satsuki:~ hana-da$ ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0]
satsuki:~ hana-da$ gem -v
1.3.6
satsuki:~ hana-da$ rails -v
Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.
satsuki:~ hana-da$ gem list

*** LOCAL GEMS ***

へ? MacOSX って rails 標準搭載じゃなかったっけ?? Lion からかわったのか?

satsuki:~ hana-da$ which rails
/usr/bin/rails
satsuki:~ hana-da$ file /usr/bin/rails
/usr/bin/rails: POSIX shell script text executable

ふむ

satsuki:~ hana-da$ cat /usr/bin/rails 
#!/bin/sh
echo 'Rails is not currently installed on this system. To get the latest version, simply type:'
echo
echo '    $ sudo gem install rails'
echo
echo 'You can then rerun your "rails" command.'

ワロタ

事前情報収集

やっぱり RVM は便利だ! - yuumi3のお仕事日記はリンク先も含めて熟読しとくべきだよね。

インスコ開始

お作法通りやる。ドキドキ。。。

satsuki:~ hana-da$ bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
Cloning into rvm...
github.com[0: 207.97.227.239]: errno=Operation timed out
fatal: unable to connect a socket (Operation timed out)
Cloning into rvm...
remote: Counting objects: 21938, done.
remote: Compressing objects: 100% (5768/5768), done.
remote: Total 21938 (delta 14947), reused 21552 (delta 14590)
Receiving objects: 100% (21938/21938), 3.82 MiB | 701 KiB/s, done.
Resolving deltas: 100% (14947/14947), done.
:
Installation of RVM to /Users/hana-da/.rvm/ is complete.
:

githubからひっぱってこれなかったようだけど、なんかよしなにうまくやってくれたっぽい。


で、

表示されたメッセージのとおり

satsuki:~ hana-da$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile

とかして

satsuki:~ hana-da$ . .bash_profile

で、読み込み

satsuki:~ hana-da$ type rvm | head -1
rvm is a function

確認おっけー

注意事項

satsuki:~ hana-da$ rvm notes

  Notes for Darwin ( Mac OS X )
:

後で読むw

てかインスコ完了時に表示されてたメッセージだね。


何が書いてあるかというと Mac OS X での注意事項として

LionではRubyをビルドするのにllvm-gccのかわりにgccを使う必要があるが /usr/bin/gcc は /usr/bin/llvm-gcc-4.2 へのリンクに変更になっているので
export CC=gcc-4.2
を .bash_profile か何かに追加しておけ

との事


Mac OS X Lion でRuby on Railsの開発環境を構築するには - yuumi3のお仕事日記でも触れられてるように

$ CC=/usr/bin/gcc-4.2 rvm install ruby-1.8.7 --force

でもいいみたい。


後で試してみよう。


後は

Snow Leopardの時は Xcode 3.2.1(1613)をdeveloper.apple.comからダウンロードしてインスコしとけ(dvdのやつはbugがある)

との事

  • MacRubyを入れるにはLLVMを先にいれてね
  • JRubyにはJDKが別途必要
  • IronRubyはMonoが別途必要(version 2.6以上が推奨)

が箇条書きの部分



Apple さんがインスコしてくれているシステム付属のruby(ruby 1.8.7 p174 for Snow Leopard)を消すには

  • rvm install 1.8.7 # installs patch 302: closest supported version
  • rvm system ; rvm gemset export system.gems ; rvm 1.8.7 ; rvm gemset import system # migrate your gems
  • rvm --default 1.8.7

するといいんじゃない的な。



あとさらに注意点が書いてあって

ruby 1.7を入れた時、RVMは .rvmrcを自動的に読み込まなくなったので、この機能を使うには
export rvm_project_rvmrc=1
を $HOME/.rvmrc に追加すれ。

みたいな。


以上の和訳は全て妄想なのであまりアテにしちゃだめです。

にやにやする

satsuki:~ hana-da$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.6-head
[ruby-]1.8.7[-p352]
[ruby-]1.8.7-head
[ruby-]1.9.1-p378
[ruby-]1.9.1[-p431]
[ruby-]1.9.1-head
[ruby-]1.9.2-p180
[ruby-]1.9.2[-p290]
[ruby-]1.9.2-head
[ruby-]1.9.3[-preview1]
[ruby-]1.9.3-head
ruby-head

# GoRuby
goruby
:

うほほ

satsuki:~ hana-da$ rvm help | head
= rvm

* http://github.com/wayneeseguin/rvm

== DESCRIPTION:

RVM is the Ruby enVironment Manager (rvm).
It manages Ruby application environments and switching between them.

== Usage

  rvm [Flags] [Options] Action [Implementation[,Implementation[,...]]

== Flags

  --default     - with 'rvm use X', sets the default ruby for new shells to X.
  --debug       - Toggle debug mode on for very verbose output.
  --trace       - Toggle trace mode on to see EVERYTHING rvm is doing.
  --force       - Force install, removes old install & source before install.
  --summary     - Used with rubydo to print out a summary of the commands run.
:

ほほう


では早速Rubyインスコ

しようと思ったけど続きは今度
LionにRails3の開発環境を構築するよ (その2) - 日々此妄想