Ruby on Rails と Heroku
環境: Ubuntu 12.04
Ruby, Git, PostgreSQL, Eclipse は『Ubuntuソフトウェアセンター』でインストールしたのと、元々入ってたのと。
Ruby on Rails のインストール
Rails, Heroku, Rakeをインストールする。
ー Rails は Ruby on Rails
ー Heroku はそれを heroku 上で動かすためのもの
ー Rake は何だっけな
ー Ruby Debug IDE はデバッガらしい
$ sudo gem install rails
$ sudo gem install heroku
$ sudo gem install rake
$ sudo gem install ruby-debug-ide
開発ツール
Rails と Heroku の開発ができる Aptana Studio を使用する。
Eclipse のプラグインをダウンロードページで選ぶと、インストールの仕方が表示される。
Install New Software… から http://download.aptana.com/studio3/plugin/install を指定するのだ。
Heroku
http://www.heroku.com/ で SignUp からアカウントを作る。
プロジェクトの作成
Eclipse の File → New → Rails Project でプロジェクトを作成。
プロジェクトをローカルで起動
App Explor の歯車から Run Server を選択する。
エラーが出たので、追加でいろいろ対応する。
> /var/lib/gems/1.9.1/gems/bundler-1.1.4/lib/bundler/resolver.rb:287:in `resolve’: Could not find gem ‘jquery-rails (>= 0) ruby’ in the gems available on this machine. (Bundler::GemNotFound)
$ sudo gem install jquery-rails
> /var/lib/gems/1.9.1/gems/bundler-1.1.4/lib/bundler/resolver.rb:287:in `resolve’: Could not find gem ‘coffee-rails (~> 3.2.1) ruby’ in the gems available on this machine. (Bundler::GemNotFound)
$ sudo gem install coffee-rails
> /var/lib/gems/1.9.1/gems/bundler-1.1.4/lib/bundler/resolver.rb:287:in `resolve’: Could not find gem ‘sqlite3 (>= 0) ruby’ in the gems available on this machine. (Bundler::GemNotFound)
$ sudo apt-get -y install libsqlite3-dev
$ sudo gem install sqlite3
> /var/lib/gems/1.9.1/gems/bundler-1.1.4/lib/bundler/resolver.rb:287:in `resolve’: Could not find gem ‘sass-rails (~> 3.2.3) ruby’ in the gems available on this machine. (Bundler::GemNotFound)
$ sudo gem install sass-rails
> /var/lib/gems/1.9.1/gems/bundler-1.1.4/lib/bundler/resolver.rb:287:in `resolve’: Could not find gem ‘uglifier (>= 1.0.3) ruby’ in the gems available on this machine. (Bundler::GemNotFound)
$ sudo gem install uglifier
> /var/lib/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/runtimes.rb:51:in `autodetect’: Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
g++をインストールしてから、
$ sudo gem install therubyracer
$ sudo gem install execjs
プロジェクトのルートにある Gemfile に以下を追加
gem ‘execjs’
gem ‘therubyracer’
これでOKになった!!
=> Booting WEBrick
=> Rails 3.2.6 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Herokuでデプロイする
Eclipse 上で Run Web deployment Wizard… を選択する。
Heroku を選んで Next し、Heroku 環境のEメール、パスワードを入力する。
アプリ名がこれでいいかって聞かれるので、OKならウィンドウは閉じる。
Console 上でまたログイン情報を聞かれるので、入れる。
public keyがないけど作る?みたいなことを聞かれるので、Y。
終わったと思ったらエラー。
アプリ名は大文字で始まっちゃいけないらしい。
いろいろ表示されて進んでるなーと思ったら、また sqlite3 でエラー。
メッセージに表示されているとおりに、
$ sudo gem install sqlite3 -v ‘1.3.6’
としたら、その先まで進んだが、push heroku server のところでまたエラー。
プロジェクト名が既に使われているということらしい。
あれ?っと思って Heroku にログインして見てみたら、もうできてたらしい。
今度は、 Open App in Web Browser を選択してみたら、ブラウザで開いた。
これはできたのか?
フレームワークしかないから、いまいち自分のだっていう実感はないけど、とりあえず動いたらしい。
まずはここまで。