railsアプリの立ち上げまで簡単にメモ

rvmのインストールに続き、アプリを取り急ぎ立ち上げるまでを簡単にメモ。まずフォルダを作りGemfileを準備する。

$ rvm use 1.9.3
$ mkdir myapp
$ cd myapp
$ vim Gemfile

Gemfileの内容はsourceとrailsのみを記述する。

source "http://rubygems.org/"
gem "rails", "3.2.0"

bundleから各種gemをインストールする。その際に–path vendor/bundleを付けることによって、各アプリ毎にgemを保存する(vendor/bundle以下)。

$ bundle install --path vendor/bundle
Fetching source index for http://rubygems.org/
Installing rake (0.9.2.2)
・・・省略
Installing rails (3.2.0)
Your bundle is complete! It was installed into ./vendor/bundle

railsコマンドを実行。その際にGemfileの上書きに対するアラートが出るが、そのまま実行する。

$ bundle exec rails new .
省略
Overwrite /path/to/book/Gemfile? (enter "h" for help) [Ynaqdh] Y
省略

バージョンによるものなのか不明だが、下記エラーが表示された場合にはtherubyracerが足りないので、上書きしたGemfileにgem ‘therubyracer’を追加して再度bundle install –path vendor/bundleを実行する。

/usr/local/rvm/gems/ruby-1.9.3-p125/gems/bundler-1.0.22/lib/bundler/resolver.rb:280:in `resolve': Could not find gem 'jquery-rails (>= 0) ruby' in any of the gem sources listed in your Gemfile. (Bundler::GemNotFound)

memberテーブルにnameとemailカラムを作成しつつscaffold。

$ bundle exec rails g scaffold member name:string email:string

migrate後にテスト。

$ bundle exec rake db:migrate
$ bundle exec rake test

DBのリセット。

$ bundle exec rake db:migrate:reset
$ bundle exec rake db:seed

サーバーの立ち上げ。

$ bundle exec rails s
=> Booting WEBrick
=> Rails 3.2.0 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-02-25 20:53:09] INFO  WEBrick 1.3.1
[2012-02-25 20:53:09] INFO  ruby 1.9.3 (2012-02-16) [i686-linux]
[2012-02-25 20:53:09] INFO  WEBrick::HTTPServer#start: pid=27380 port=3000

ウェブサーバーから下記アドレスにアクセス。

http://192.168.1.72:3000/members/

rvmをsudoを付けて(マルチユーザーとして)インストールする

rvmを管理者としてインストールしてみる(続きrubyも)。こちらのマニュアルのMulti-Userの項目を参考に進める。

$ bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

インストール自体はそれほどかからずに完了する。Single-Userの場合は、それぞれのホームディレクトリ以下に、Multi-Userの場合は/usr/local/rvm以下にインストールされる。また、インストール後は再ログインをする。

Once you have added the users you want to be able to use RVM to the rvm group, those users MUST log out and back in to gain rvm group membership because group memberships are only evaluated by the operating system at initial login time.

また、その後の関連コマンドについては下記のように入力する。sudo rvm -vとするとsudo: rvm: command not foundと怒られる。

$ sudo rvm -v

ではなく

$rvmsudo rvm -v

次にrubyをインストールする。まず、インストールに当たっての必要要件を確認する。

$ rvmsudo rvm requirements
省略

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-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion

省略

このうち、For Rubyの部分を参考にして足りないライブラリをインストールする。また、rvmsudo rvm list knownによってインストール可能なrubyのバージョン等を確認する。続いて該当バージョンをインストール。

$ rvmsudo rvm list known
$ rvmsudo rvm install 1.9.3
省略
Install of ruby-1.9.3-p125 - #complete

最後にパスを通して、また通常使用するバージョンを指定する。

$ echo '[[ -s "/usr/local/rvm/scripts/rvm" ]] && . "/usr/local/rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
$ rvm use 1.9.3 --default
Using /usr/local/rvm/gems/ruby-1.9.3-p125

rubyの削除は次のコマンドで行う

//ruby削除(ソースコードも削除する)
$rvmsudo rvm remove 1.9.3
//ruby削除(ソースコードは削除しない)
$rvmsudo rvm uninstall 1.9.3

Bulk updating Gem source index for…

gem install railsのインストール時に次のようなエラーメッセージが表示されました。コマンドを間違えたかと思い、もう一度入力をしてみたところ今度は正常にインストールされました。

Bulk updating Gem source index for: http://gems.rubyforge.org
ERROR:  While executing gem ... (Gem::GemNotFoundException)
Could not find rails (> 0) in any repository

なんだか気持ちが悪いので少し調べてみると下記のサイト管理者さまでも同様の現象が発生しているようでした。

解決方法としては次のように–remoteをつければ良いとのこと。

gem install --remote rails --include-dependencies

助かりました。ありがとうございます!

Rubyをインストールする

はじめに

redmineが使いたくて社内サーバーにrubyを入れてみました。

インストール

下記のようなメッセージによりRubyの再インストールをする場合、次にようにします。

** Ruby version is not up-to-date; loading cgi_multipart_eof_fix
# yum remove ruby // rubyを消します。

# yum remove ruby-libs // ruby-libsを消します。

# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6.tar.gz // 新しいrubyをダウンロードします。
# tar -zxvf ruby-1.8.6.tar.gz
# cd ruby-1.8.6
# ./configure --prefix=/usr // 新しいrubyをインストールします。
# make
# checkinstall --fstrans=no