"Rails serverを見やすくするツール rails-dashboard"を使ってみた

rails-dashboard とは

  • rails serverのログをみやすくパースしてくれるツール
  • 開発者自身が"npm binを作ってみたかったから"という理由でgemではなくnpmでの配信になっているらしい (下記が詳細の記事です) qiita.com

  • 体感としては wiresharkにすごい似ているなぁ。。と感じたw

  • npmパッケージリンク

  • githubリンク

導入方法

nodebrew -v && npm -vでエラーがでなければそのまま進む(エラーでたらインストールします:後述)

$ npm install -g rails-dashboard

$ rials-dash-board -V 
//入っているか確認

nodebrew -v && npm -vがエラー(まだインストールしたことない場合)

//nodebrew installl

$ brew install nodebrew

$ nodebrew -v
//インストールの確認→バージョン出ればおk

$ vim ~/.bash_profile
//環境変数の追加(内容下記)
 > export PATH=$PATH:$HOME/.nodebrew/current/bin:$PATH

//alias "rs" でrails-dashboardを起動する設定(~/.bash_profileに追記)
 > alias rs="rails-dashboard rails s"

//bash_profileの読み込み。
$ source ~/.bash_profile

//インストール時に下記ディレクトリがないとエラーになるので"lsや cd"をつかって確認する。→なければ作成
"/usr/local/var/nodebrew/src"

$ mkdir /usr/local/var/nodebrew
$ mkdir /usr/local/var/nodebrew/src

//最新のnodeをinstall
$ nodebrew install-binary latest

//インストールできたか確認
$ nodebrew ls

//installしたnode.jsを利用するよう変更
$ nodebrew use latest

//再び確認
$ nodebrew ls 
//current: v8.4.0
という風になっていれば成功。


node -v
npm -v
でバージョンが表示されれば成功しています。

rails-dashboard実行時につまったこと。

  • railsのバージョンによってはうまく起動しない。。。 ~ > 5.0.3 && 5.1.2系では動いたが4系のrailsアプリではうまく動かなかった ~ (自分の環境の問題かもしれないが。。。。。。)

~ 4系で実行するとサーバーログが少しでて終了してしまう。。。。~

rails-dashboard rails s
[2017-09-07 13:15:11] INFO  WEBrick 1.3.1
[2017-09-07 13:15:11] INFO  ruby 2.1.8 (2015-12-16) [x86_64-darwin16.0]

qiiitaをみると

Rails5.1で動作確認をしていますが、ログのフォーマットが変わっていなければRails4以下でも動くはずです。 となっているのでもしかしたら4系と5系で”ログのフォーマットが変わっているのかも”しれませんね。。。


上記のような場合は下記で対応できます!!(追記) Gemfileに

gem ‘puma’ (僕はgem ‘puma’, ‘~> 3.7’) と記述を追記し、 $ bundle install

するとrails versionに関係なく、実行できました!

——-ここから下は私の苦戦の跡wです———–

僕はこの原因を探すのに苦戦してしまい。。。。。
rails-dashboardに使用されている下記のライブラリもインストールしました。
(おそらく不要かと思います。。もし5系でも動かなかったら入れてみてください)   1. blessed 2. React 3. react-blessed

方法は

npm install react@0.14.0 blessed
npm install react-blessed
  • pry-rails によるデバッグができない???
    まだがっつり使ってるわけではないので詳細は省きますが、 binding.pryで処理は止まるが、通常のデバッグのような手法ができなかった。。。。 処理を止めた、ところでリクエストパラメータをのぞいたり、DBへの保存を試みたりするさいには通常の"rails s"をするしかするしかないのだろうか??

また何かあれば追記していく予定です。