37
36

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

IntelliJ IDEA 13.1 + Ruby plugin 6.5.0.20140314 DE リモートインタプリタ Rails開発

Last updated at Posted at 2014-06-19

ちょっと前まで結構buggyな印象だったリモートインタプリタですが、最近のバージョンは安定してるっぽいです。

  • ホスト
    • IntelliJ IDEA 13.1
    • Ruby plugin 6.5.0.20140314
  • ゲスト
    • Ubuntu 14.04 LTS
    • ruby 2.1.2 (rbenv)

What's リモートインタプリタ?

IntelliJ IDEA で開発中のプロジェクトを、リモートホスト上のインタプリタで動作させる機能です。

リモートホストであるにも関わらず、実行やコンソール(rails c)、rakeタスク、rspecなどを SSH ごしに IDEA から操作でき、実行結果やログ等をシームレスに取得可能です。

Windows 上の IDEA で Rails 開発を行う場合はほぼ必須といっていい機能で、開発用サーバを Vagrant 等で管理する場合にも使える機能です。(vagrant用の設定プリセットもあって楽です)

よいとこ

  • Windows 上で Rails 開発という苦行から解放してくれる
  • 開発用サーバと本番用サーバの OS、ライブラリ等を揃えやすい

微妙なとこ

  • bundle install実行後など、ローカルでのスタブの作成などに時間がかかる
  • git checkoutなど、リモートに全体を転送する必要があり規模によっては時間がかかる
  • リモートと言ってもやはりローカル上の仮想マシンでないと転送コストが馬鹿にならない

##手順

  1. リモートホスト上でrubyインストール
  2. Railsアプリケーション作成
  3. IDEA上でDeployment先登録
  4. IDEA上でリモートインタプリタ登録
  5. プロジェクト作成
  6. 転送設定
  7. Railsアプリケーションダウンロード
  8. bundle install
  9. 開発サーバ起動

さらに・・・デバッガの使用

###リモートホスト上でruby/railsインストール

なんでもよいですが今回はrbenvで。

uzuki05@dev $ rbenv install 2.1.2
uzuki05@dev $ rbenv global 2.1.2
uzuki05@dev $ gem install rails -v=4.1.1 --no-ri --no-rdoc
uzuki05@dev $ rbenv rehash

###アプリケーション作成

IDEA上で作成しようとすると、エラーが発生するので、リモートホスト側で作成しておきます。IDEAプロジェクト作成後、IDEAの同期機能でホスト側に取り込みます。

uzuki05@dev $ rails new hoge --skip-test-unit

###IDEA上でDeployment先登録

[Configure] > [Settings] > [Deployment]

でリモートホストの接続情報を登録。先に登録しておくことで次のリモートインタプリタ登録で接続情報入力を省略できます。

Deployment

###IDEA上でリモートインタプリタ登録

[Configure] > [Project Defaults] > [Project Structure]

[Add New SDK] > [Ruby SDK] > [New Remote]

[Fill from deployment server settings]から先ほど登録した接続情報を自動設定できます。

Configure Remote Ruby Interpreter

[OK]を押すと、インストール済みのgemの情報を取得したりするので、インストールされているgemの数によってはしばらく待ちます。

登録できたら[OK]。

Project Structure

###プロジェクト作成

New Project

Create

###転送設定

[Tool] > [Deployment] > [Configuration]

左ペインで登録したデプロイ先を選択し、[Mappings]タブを開きます。

  • [Use this server as default]有効に
  • [Deployment path on server デプロイ先名]は作成したRailsアプリのルートディレクトリ

Deployment Configuration

続いて、

[Tool] > [Deployment] > [Options...]

  • [Upload changed files automatically to the default server]を「On explicit save action」

Deployment Options

###Railsアプリケーションダウンロード

左のProjectペインで、[プロジェクト名(ここでは「hoge」)を右クリック] > [Deployment] > [Download from デプロイ先名]

Download from

IDEAにより、リモートホスト上から生成されたRailsアプリが取り込まれます。

Download

###bundle install

[Tools] > [Bundler] > [Install]

###開発サーバ起動

[Deployment: プロジェクト名]実行。

Development server

無事リモートホストでサーバが起動しました。

Development log

VirtualBoxはポートフォワーディングが楽ですね。

App

##Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)

therubyracerを入れればOK。

Gemfile

# 追記
gem 'therubyracer', '~> 0.12.1'

リモートホストに転送(「On explicit save action」の設定で保存時に自動転送されているはずです)後、

[Tools] > [Bundler] > [Install]

で無事インストール完了。

次回は、リモートインタプリタでデバッガを使ってみます。
IntelliJ IDEA 13.1 + Ruby plugin 6.5.0.20140314 DE リモートデバッグ on Rails

37
36
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
37
36

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?