Ruby on Rails を開発する環境を Mint 18上に構築するためのガイダンスです。
おそらく Ubuntu 16.04でも同じ手順で行けるはずです。
特にEclipseにおけるシングルステップ デバッギング環境の構築を目標としたガイダンスです。
Rails環境を整える記事は別に書きましたので、まずはそちらを参照ください。
今回は前回の記事の続編で、Eclipseのインストール、そして、ブレークポイントを設定してのシングルステップ可能なデバッグ環境の構築編です。
Eclipse/JDKのインストール
では、Eclipseをインストールします。EclipseにはJDKが必要なので、JDKとEclipseをダウンロード。
JDKはOracleのサイトから、適切なJDKをダウンロードしてください。
Eclipseの最新版 4.6 neonではうまく行かないので(いろいろ試行錯誤しました)、一つ前のバージョン 4.5をインストールします。
Eclipseは本家からダウンロードするとめちゃくちゃ遅いので、ミラーサイトから取得
今回はPHP開発用のものをダウンロードしました。(別のものでも構いません)
以下はお好みの場所で構いませんが、JDKとEclipseをインストールします。
今回は /usr/java フォルダにインストールすると仮定します。
JDKのインストール
[bash]
$ sudo mkdir /usr/java
$ sudo mv ~/Downloads/jdk-8u92-linux-x64.tar.gz /usr/java/
$ cd /usr/java
$ sudo tar xvzf jdk-8u92-linux-x64.tar.gz
[/bash]
環境変数の設定
これでインストールは完了ですが、このままでは環境変数が存在しないため、Javaが利用出来ません。
~/.bash_profileを編集し、以下を追記します。
[bash]
$nano ~/.bash_profile
#以下を追記
JAVA_HOME=/usr/java/jdk1.8.0_92
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=$JAVA_HOME/jre/lib/rt.jar
export JAVA_HOME PATH CLASSPATH
[/bash]
追記が終わったら、上記の追記内容を反映します。(次回ログイン時からは自動的に読み込まれますので、この操作をする必要はありません。)
その後、環境変数 JAVA_HOMEを確認してみます。
[bash]
$ source ~/.bash_profile
$ echo $JAVA_HOME
/usr/java/jdk1.8.0_92
[/bash]
eclipseインストール
[bash]
$ sudo mv ~/Downloads/eclipse-php-mars-R-linux-gtk-x86_64.tar.gz /usr/java/
$ cd /usr/java
$ sudo tar xvzf eclipse-php-mars-R-linux-gtk-x86_64.tar.gz
[/bash]
Eclipse日本語化
ついでにEclipseの日本語化もしておきましょう。
[bash]
$ sudo wget http://svn.osdn.jp/svnroot/mergedoc/trunk/Pleiades/build/pleiades.zip
$ sudo mkdir tmp
$ sudo mv pleiades.zip tmp
$ cd tmp
$ sudo unzip pleiades.zip
$ sudo cp features/* /usr/java/eclipse/features/ -R
$ sudo cp plugins/* /usr/java/eclipse/plugins/ -R
[/bash]
eclipse.iniの編集
[bash]
$ sudo nano /usr/java/eclipse/eclipse.ini
最後に以下を追記
-javaagent:/usr/java/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
[/bash]
eclipse起動テスト
では、eclipseを起動してみましょう。
めでたく、日本語化されたEclipseが起動していたらOKです。
[bash]
$ /usr/java/eclipse/eclipse &
[/bash]
ワークスペースは ~/workspace とします。

Aptanaプラグインのインストール
メニューより、ヘルプ>>新規ソフトウェア(Install new software)のインストールを選択
http://download.aptana.com/studio3/plugin/install
追加ボタンをクリックし、名前にAptana、ロケーションに上記のURLを入力します。
リストに Aptana Studio 3 が表示されますので、チェックを入れ、インストールを行います。


Railsプロジェクトを作成
では、テスト的にRailsプロジェクトを作ってみます。
メニューより ファイル>>新規>>その他>> Railsプロジェクトを選択
プロジェクト名は「testproj」、プロジェクトのフルパスは ~/workspace/testproj と仮定します。

では、Railsアプリを起動してみます。
[bash]
$ cd ~/workspace/testproj
$ rails s
エラーメッセージ
Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
[/bash]
上記でエラーが出力される場合があります。たいていは何かが足りないからインストールしてくれ的なメッセージだと思いますので、適宜、必要なものをインストールしてやってください。
JavaScript Runtimeがないとのエラーであれば、nodejsをインストールすることで解決します。
[bash]
$ sudo apt-get install nodejs
[/bash]
今後 mysqlを利用することがあるのなら
[bash]
$ sudo apt-get install libmysqlclient-dev
[/bash]
動作確認
では、いよいよRailsアプリの動作確認です。
再度、railsサーバーを起動します。
[bash]
$ rails s
=> Booting WEBrick
=> Rails 4.0.0 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2014-01-16 16:59:59] INFO WEBrick 1.3.1
[2014-01-16 16:59:59] INFO ruby 2.0.0 (2013-11-22) [i686-linux]
[2014-01-16 16:59:59] INFO WEBrick::HTTPServer#start: pid=19531 port=3000
[/bash]
ブラウザーで、 http://localhost:3000 へアクセスします。
めでたくRailsのトップページが表示されていたら、Railsの開発環境が整ったことになります。

Ctrlキー + Cキー で、一旦Railsサーバーを停止します。
Eclipseでのデバッグ設定
さて、ここからがいよいよ本番です。
Eclipseのメニューより、ウィンドウ>>ビューの表示>>その他 をクリックします。
表示されたダイアログの中から、 Studio>>サーバー を選択します。

Eclipseの画面の下部に以下のようなサーバービューが表示されていると思います。
鉛筆マークをクリックし、設定を編集します。

ここがポイントです!!
デフォルトでは、Host/IPが 「0.0.0.0」となっているのですが、ここを「127.0.0.1」とします。

デバッグマークをクリックし、Railsサーバーを起動します。

エラーダイアログが表示され、以下のようなメッセージが表示されると思います。
Ruby program /home/xxx/workspace/testproj/script/rails does not exist.
詳しい原因は分かっていないのですが、Rails3とRails5でフォルダ構造が変わったために起きているエラーのような気がします。
[bash]
$ cd ~/workspace/testproj
$ cp bin/ script -R
[/bash]
ついでですので、Eclipseのデバッグ時に必要なGemをインストールしておきます。
[bash]
$ gem install ruby-debug-ide
[/bash]
サンプルアプリケーションの作成
[bash]
$ rails generate scaffold Sample name:string email:string
$ rake db:migrate
[/bash]
サンプルアプリケーションの動作確認
Eclipseのサーバービューから デバッグボタンをクリックし、Railsサーバーを起動します。

ブラウザーで localhost:3000/samples を表示
以下のように表示されればOK!

テストデータの投入
scaffoldで作成された入力画面でテストデータを投入します。


いよいよデバッグ出来るか確認
では、Eclipseに戻って、プロジェクトエクスプローラーより
app>>controllers>>samples_controller.rb を開きます。
[ruby]
def index
@samples = Sample.all
if @samples.count > 0 then
a = 2
else
a = 3
end
end
[/ruby]
上記の @samples = Sample.all
の行にブレークポイントを設定します。

先ほどのページをブラウザーで再度開きます。(もしくはリロードします。)
Eclipseのブレークポイントがハイライトされ、デバッグ待ち状態になれば、めでたくデバッグ環境構築成功です!
お疲れ様でした。
Leave a comment