読者です 読者をやめる 読者になる 読者になる

やりたいことを勝手にやる

プログラミング周りでやりたいことをやる

エゴサーチサービス開発 (その2)

この前の続きから。Heroku を使ってみる。

Heroku

サインアップ

別に大したことはない。必要事項を埋めて送信するだけ。メイン言語 (プログラム的) を選ぶのがちょっと変わったところか?

メールによるアカウント確認もよくあるやつ。これを最初にやり始めたのは誰なんだろうか?

テストアプリ作成

とりあえずアプリを作ってみる。Ruby で適当なアプリを作ろう...と思って "Ruby" をぽちっと押すとチュートリアルが出てきた。読んでみる。必要な ruby は 2.2.5 か...更新しとかないと。

↓で更新したので戻ってきた。

Heroku CLI 導入

チュートリアルで出てきたコマンドを実行して Heroku CLI をインストールした。

$ sudo add-apt-repository "deb https://cli-assets.heroku.com/branches/stable/apt ./"
$ curl -L https://cli-assets.heroku.com/apt/release.key | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install heroku
$ hroku login
サンプルアプリ用意

heroku チュートリアルにはサンプルアプリがあったが自力で用意した。久しぶりの rails だったので結構忘れてるな...

  1. rails new --skip-spring --skip-listen で初期化。このオプションがないとBash for Windows では動かないとのこと
    • spring: コマンド高速化, listen: ファイル変更フックらしいのでなくても正しい rails として動くはず
    • β版だから仕方ないね。開発は進んでいるみたいなんだが一般ユーザーに降りてくるのはだいぶ先になりそう
  2. Gemfile で therubyracer のコメントを外し、bundle install し直す
    • Javascript の実行環境が必要となるため。node をいれてみたがうまく動かなかった...
  3. Controller 作って
  4. Model 作って
  5. erb ファイル編集して
  6. config/rootes.rb 編集して完成
heroku にデプロイ

git を使ってデプロイするので最初に git repository を作っておく。

$ git init
$ git add
$ git commit -m "test app"

こうしておいて heroku のアプリ作成とデプロイが可能になる。(git repository 作成と逆になると heroku の git repository が設定されない)

$ heroku create
$ git push heroku master

で OK...と思ったが sqlite3 は使えないとのお達しだったので

  • Gemfile 修正
    • sqlite3 を test, development 専用にする
    • mysql2 を 追加
  • mysql-server, libmysqlclient-dev を apt-get
    • ローカルの budle install を通すため mysql-server は必要ないかもしれない
  • bundle install
    • ただの Gemfile の確認だが...

とした上で再度 push したらデプロイできた。

heroku で Mysql を使う

これを忘れてた...アプリを消しちゃったので後回し。

Ruby 環境構築 on Windows

今の Windows に入っている ruby は 2.1.5 で古いのでアップデートが必要となっている。 (なので↑のメイン作業前にやっている)。

Bash for Windows 導入

なんかさらに回り道しているみたいだが...Ruby 使うんなら rbenv がいいよね...ということで Windows で rbenv 使えないかと探してみたが、Windows で rbenv っぽいものを作ってた 人が "Bash for Windows 使え" とのことなので Bash を入れた。

やらなきゃいけなかったことのアウトラインは

  • "Windows の機能の有効化" で "Linux Subsystem for Linux" を有効化
  • Windows の設定で開発者向け機能を有効化
  • コマンドプロンプトで "bash" と入力して bash インストール
  • ホスト名設定 (そのままでは sudo すると "ホスト HOMEWIN8 の名前解決ができません" と警告されるため)
  • リポジトリ取得先の変更 (デフォルトだと海外サーバにとりに行くため)
Bash for Windows メモ
  • ベースは Ubuntu
  • カレントディレクトリのパスに日本語があるとコマンドプロンプトが見づらくなる
  • cmd ウィンドウ外 (普通の Windows) からのコピペをするには cmd を "簡易編集モード" にしたうえで Ctrl+V ではなくマウスの右クリックが必要となる
  • Linuxディレクトリは Windows 上では %localappdata%\lxss (つまり c:\Users\\AppData\Local\lxss) にある
    • Local までいっても lxss は表示されないが勇気をもってフォルダ名を打ち込めば lxss フォルダの中に入れる
    • システムファイルは %localappdata%\lxss\rootfs にある
    • 各ユーザーのホームディレクトリは %localappdata%\lxss\home\ にある

git 導入

なにはなくとも git は必要。apt-get から導入した。git config --global もしておく。

$ sudo apt-get install git
$ git config --global user.email "<mail address>"
$ git config --global user.name "<name>"

ruby (+rails) 導入

まずは rbenv を導入する。ただし apt-get で入れると ruby 2.0.0-dev までしかインストールできないので git から入手する。 ruby-build がないと何もできないので ruby-build も忘れずに。

rbenv インストールコマンドは参考サイト通りに打った。使用する ruby のバージョンは rails 5.0.1 が 2.2.2 以上、Heroku では 2.2.5 ということなので 2.2.5 を入れた。ruby のインストールは途中で止まったんじゃないかと思うぐらい時間がかかった。
最後のほうの rails ディレクトリ作るあたりは rails 専用の ruby 環境を準備するため。rails いれちゃうとかなり環境を汚すはずなので global には入れないことにする。

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

$ rbenv install 2.2.5
$ mkdir rails
$ cd rails
$ rbenv local 2.2.5
$ ruby --version
ruby 2.2.5p319 (2016-04-26 revision 54774) [x86_64-linux]

ここまで用意したので rails を入れる...の前に sqlite でいいので SQL を入れておく。

$ sudo apt-get install sqlite
$ gem install rails
$ gem install bundler

ひとこと

bash コマンドを引用記述にするのにして四苦八苦したあげく、はてな記法で入力する設定があったので変更した。