結城浩のはてな日記 このページをアンテナに追加 RSSフィード Twitter

2012年11月16日(Fri)

Windows 7上で作ったRuby on RailsのWebアプリをHerokuで動かす

前提

  • Windows 7
  • gitインストール済み
  • sshインストール済み
  • www.heroku.comのアカウント登録済み
  • heroku-toolbelt.exeのインストール済み
  • gem install bundler 済み

問題

  • Windows 7上で作ったRuby on RailsのWebアプリをHerokuで動かしたい

解決

  • 1. Ruby on RailsをWindows 7上にインストールする。
  • 2. Webアプリをローカルに用意する。
  • 3. WebアプリをHerokuに配置して動かす。

詳細

1. Ruby on RailsをWindows 7上にインストールする。
c:\work> ruby -v
ruby 1.9.2p290 (2011-07-09) [i386-mingw32]
  • Herokuにログインする。
c:\work> heroku login
Enter your Heroku credentials.
Email: (メールアドレス)
Password (typing will be hidden): (パスワード)
Authentication successful.
  • Railsをインストール
c:\work> gem install rails
.
.
.
Fetching: json-1.7.5.gem (100%)
ERROR:  Error installing rails:
        The 'json' native gem requires installed build tools.

Please update your PATH to include build tools or download the DevKit
from 'http://rubyinstaller.org/downloads' and follow the instructions
at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'
c:\work> DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe
(展開場所は c:\devkit にした)
c:\work> cd \devkit
c:\devkit> ruby dk.rb init
[INFO] found RubyInstaller v1.9.2 at C:/Program Files (x86)/ruby-1.9.2

Initialization complete! Please review and modify the auto-generated
'config.yml' file to ensure it contains the root directories to all
of the installed Rubies you want enhanced by the DevKit.
  • あれ? 私は C:\ruby-1.9.2 にある rubyを使っていたはずだが。
c:\devkit> which ruby
ruby:
        C:\ruby-1.9.2\bin\ruby.EXE
  • ですよね。 ということで config.ymlを編集して、C:\ruby-1.9.2 に変更。
C:\devkit> vi config.yml
(C:/Program Files (x86)/ruby-1.9.2をC:\ruby-1.9.2に変更)
C:\devkit> ruby dk.rb review
Based upon the settings in the 'config.yml' file generated
from running 'ruby dk.rb init' and any of your customizations,
DevKit functionality will be injected into the following Rubies
when you run 'ruby dk.rb install'.

C:/ruby-1.9.2

C:\devkit> ruby dk.rb install
[INFO] Updating convenience notice gem override for 'C:/ruby-1.9.2'
[INFO] Installing 'C:/ruby-1.9.2/lib/ruby/site_ruby/devkit.rb'
  • DevKitがちゃんと入ったのを確認。
C:\devkit> gem install rdiscount --platform=ruby
Fetching: rdiscount-1.6.8.gem (100%)
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
Successfully installed rdiscount-1.6.8
1 gem installed
Installing ri documentation for rdiscount-1.6.8...
Installing RDoc documentation for rdiscount-1.6.8...
  • 再度Railsをインストール。
c:\devkit> cd \work
c:\work> gem install rails
Successfully installed json-1.7.5 ←さっきはこけたけど、今度は入ったよ。
...
Successfully installed rails-3.2.9
...
c:\work> rails -v
Rails 3.2.9
2. Webアプリをローカルに用意する。
c:\work> rails new myapp
c:\work> cd myapp
c:\work\myapp> vi Gemfile
(gem 'sqlite3' の行を gem 'pg' に書き換える)
c:\work\myapp> bundle install
  • ローカルでテストする。
c:\work\myapp> rails server
(ブラウザで http://localhost:3000 にアクセス。Welcome aboardのページが表示)
3. WebアプリをHerokuに配置して動かす。
c:\work\myapp> git init
c:\work\myapp> git add .
c:\work\myapp> git commit -m "init"
c:\work\myapp> heroku create
(ここでHeroku上のアプリのURLが表示される)
Git remote heroku added
c:\work\myapp> git push heroku master
  • これで、Heroku上のアプリのURLにアクセスすると、Welcome aboardの画面が出る。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/hyuki/20121116/heroku