IMPOV::In My Point Of View

仕事、SEO、ウェブマーケティング、時事問題、健康、生き方などなど、書きたいことを勝手に書き倒しているブログです。とどのつまり「便所の落書き」

Ruby と Ruby on Rails をかじってみる

Ruby on Rails で何ができるのかざっくりわかっていると、あとあと便利そうなのでちょっとだけ触ってみることにしました。

サーバーへのインストールは少々苦労しましたがなんとか終わらせたので、次はローカル環境を作りまずはRubyからいじってみようかと思います。テキストは簡単なところで、まずはRuby入門 - ドットインストールでいいかな。

ローカル環境はデスクトップPC(Windows10)にセットアップすることにしました。手持ちのMACはサブノート的に使用している12インチMacBookなので、画面が小さくて老眼が始まっている自分には少々つらいです。

Atom の準備

エディタAtomに、PowerShellを使えるパッケージ「platformio-ide-terminal」を新しくインストールします。

デフォルト設定なら、ctrl+@ で画面の下半分にPowerShellの画面がでてきます。

マウスなら、Atomの左下ステータスバーにある「+」マークをクリックで画面がでます。

参照しているファイルのプロジェクトフォルダでPowerShellが起動します。

画面の上半分に編集中のファイルを開いたまま、画面の下半分でそのファイルをPowerShellで実行できますのでかなり便利です。

f:id:impov:20170314181301p:plain

RubyInstaller

サーバーにインストールしたバージョンとは違いますが、お手軽にRubyInstaller for Windowsをインストールします。

とりあえずのお勉強なので、バージョン違っててもまぁ良いでしょう。

64bit最新版をダウンロードして、あわせてDevKit(64bit)もダウンロードしておきます。

Devkitは適当なディレクトリを新規に作成して、ダウンロードしてきた圧縮exeファイルをダブルクリックして展開します。このとき、ディレクトリのpathに日本語が入っていないほうが良いです。

もしまだGITをインストールしてなければ、Git for Windowsを先にインストールします。

ようやく RubyInstaller をダブルクリックしてインストールします。

Atom を再起動してPowerShellを表示し、ruby -v とやるとrubyがインストールされていることが確認できます。Atomは再起動しないと、新しく設定された path を認識しないようですので、「ruby が見つからないよ!」と怒られたらあわてず Atom を再起動です。

サーバーのときと比べて、あっけないほどの簡単さですね。

Devkit のインストール

続いて、Devkit のインストール。PowerShell で最初に解凍したディレクトリに移動し、以下の2つのコマンドを打ち込みます。

ruby dk.rb init
ruby dk.rb install

これだけ。

Bundlerインストール

PowerShell から、gem install bundler と打ち込むだけです。

Rails インストール

Rails 用のディレクトリを、ドライブの直下など適当な場所に作成してインストールします。

作成したディレクトリを、Atom のプロジェクトフォルダに追加して、PowerShellを表示します。

作成したディレクトリに自分がいることを確認した上で、

Bundle init

と打ち込んで、Gemfile を作成。

Atom のプロジェクトフォルダのリストに、Gemfile が見えるようになりますから、これをクリックして編集。

コメントを外して、gem "rails" を有効にします。

ファイルを保存して、PowerShellから、

bundle install --path=vendor/bundle

と打ち込んでやればあとは待つだけです。

bundle exec rails -v

とやってバージョンが確認できればインストール成功。

二台のPCで同じ作業をしたところ、そのうち一台で以下のようなエラーがでました。

C:\rubydevkit\bin\make.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0

字面から、メモリ領域を確保できませんでしたよ!という感じでしたので、Window再起動して、bundle update したところ、無事にインストール完了です。