Ruby on Rails 3.2 を Ubuntu にインストールする手順をかなり丁寧に説明してみました - Rails 雑感 - Ruby on Rails with OIAX
を参考(検証)にしながら、lubuntu 12.10 のほぼまっさらな状態からやってみる。
ちなみにubuntu系ははじめからrubyは入ってない。
各種パッケージのインストール
$ sudo apt-get install build-essential git curl zlib1g-dev libssl-dev libreadline-dev libyaml-dev libxml2-dev libxslt-dev libsqlite3-dev nodejs※build-essentialにmake, g++などが入っている。railsはJavaScript Runtimeが必要なのでnode.jsを選択した。
Apache、MySQL を使うなら、以下のものが必要。
$ sudo apt-get install apache2 libmysqlclient-dev mysql-server
rbenvセットアップ
apt-getのrbenv調査
Ubuntu 12.04からapt-getでrbenvのインストールが可能apt-getのrbenvを確認してみる。
$ sudo apt-get install rbenv パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の特別パッケージがインストールされます: libreadline5 libruby1.8 libruby1.9.1 ruby ruby1.8 ruby1.9.1 提案パッケージ: ri ruby-dev ruby1.8-examples ri1.8 ruby-switch ruby1.9.1-examples ri1.9.1 graphviz ruby1.9.1-dev
apt-getでrbenvを入れるとシステム用に1.8や1.9のrubyも入るようだったので止めとく。
rbenv は sstephenson/rbenv にしたがってgitでインストールすることにした。
rbenvをインストール
$ cd $ git clone git://github.com/sstephenson/rbenv.git .rbenvzshを使っているので.zshenvに。
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshenv $ echo 'eval "$(rbenv init -)"' >> ~/.zshenv何かのきっかけで、title:7: command not found: rbenv と表示されても、.zshenvに eval "$(rbenv init -)" が追記されていれば正常。
シェル再起動
$ exec $SHELL
ruby-buildインストール
$ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
一回目に
fatal: The remote end hung up unexpectedly
が出たけどもう一回やったらうまくいった。インストール可能なパッケージ一覧
$ rbenv install -l 略 1.9.3-p194 1.9.3-p286 1.9.3-preview1 1.9.3-rc1previewの手前の安定版 1.9.3-p286 を入れることにした。
$ rbenv install 1.9.3-p286※ここで
make: コマンドが見つかりません
が出る場合は $ sudo apt-get install build-essential
$ rbenv rehash
常に使うrubyとして設定
$ rbenv global 1.9.3-p286 $ ruby -v ruby 1.9.3p286 (2012-10-12 revision 37165) [i686-linux]で確認。
zshの訂正機能が効いて
zsh: correct 'ruby' to '_ruby' [nyae]?
のようになったら、訂正しないの意味の n を入力。一応
$ rbenv version $ which rubyしてrbenvのrubyになってるか確認。
.gemrcを用意。
$ echo 'install: --no-rdoc --no-ri\nupdate: --no-rdoc --no-ri' >> ~/.gemrc
$ gem install rbenv-rehash入れとく。
railsインストール
$ gem install rails
$ rails -v Rails 3.2.8
zsh: correct 'rails' to 'tail' [nyae]?
と聞かれたら n。手順にしたがってrailsのデモを作る
$ cd $ mkdir work $ cd work $ rails new foo --skip-bundle $ cd foo
Gemfile の以下のコメントアウトを外す。
# gem 'therubyracer', :platform => :ruby現状この意図がわからなくて悔しい。
追記:わかった。therubyracerを入れずに rails generate scaffold~ すると Could not find a JavaScript runtime.と言われた。
ググってみると、railsはJavaScript Runtime(エンジン)が必要で、railsは ExecJS というgemが環境にインストールされているJavaScript Runtimeを探してくるが見つからなくて動かねえよってことらしい。ちなみにtherubyracerにはv8が入っている。再びググるとv8まわりでトラブルが起きている記事や、メモリ使用量が多いためHerokuでは非推奨という記述が見つかった。うちはnode.jsを入れることにする。(nodejsもv8だった)。
$ bundle install
$ rails g scaffold user name:string email:string $ rake db:migrate
$ rails s
ブラウザで http://localhost:3000/users を開いて動作確認。
動いた。
OIAXさんありがとうございました。
0 件のコメント:
コメントを投稿