約束の地

キャロ組

Windows で RubyMine を用いる際に、リモートホストにある Ruby を使って実行する方法

つまり

ソースコードを手元のマシンで編集しつつ、実行はリモートマシン*1で行う方法です。

説明の前に

普通こんなことをする人はいないと思いますし、作り込んでいくといろいろ問題が出てくること必至です。このやり方の過程から得られるものがあればよいと思います*2

前提

  • Windows に Ubuntu を入れておきます

各種設定項目

スクリーンショットとともに説明します。なお、RubyMine は設定項目がコロコロ変わるので注意して下さい*3

SSH Terminal の Default encoding を UTF-8 に

f:id:gregminster:20180107230056p:plain

Terminal を bash に

f:id:gregminster:20180107230125p:plain

Ruby SDK and Gems を新規作成

  • New remote を選択する f:id:gregminster:20180107230236p:plain

  • Configure Remote Ruby Interpreter にリモートの Ruby を指定する

    • SSH Credentials を選んで SSH の設定をする f:id:gregminster:20180107230333p:plain
  • 設定ができたら登録した Remote の Ruby を選択状態にする 設定直後だと「○」にチェックが入っていないので、クリックをしてチェックを入れる

Deployment を設定しローカルホストとリモートホストの同期を取る設定をする

  • 本来の意味でのデプロイでないのは承知の上で、デプロイの設定をする f:id:gregminster:20180107230709p:plain

  • ローカルパス と デプロイ先パス の設定をする

    • ローカルパスは Windows のローカルフォルダ
    • デプロイ先パスは適当なところを*4 f:id:gregminster:20180107231759p:plain
  • 「Tools」→「Deployment」→「Options」とメニューをたどってリアルタイム同期設定をする

    • Upload changed files automatically to the default serverAlways にするなどして、ローカルで保存したら即座にリモートに反映されるようにする f:id:gregminster:20180107232355p:plain
  • あと「Tools」→「Deployment」→「Automatic Upload」にチェックを入れることも必要でしょう f:id:gregminster:20180107232815p:plain

文字化け防止

これもハマりやすいところで、Windowsだと*5ターミナルの日本語が思いっきり文字化けしますので、\Program Files\JetBrains\RubyMine 2017.3\bin\rubymine64.exe.vmoptions の末尾に次の設定を書き加えます。書き加えたあとは RubyMine の再起動が必要です。

-Dfile.encoding=UTF-8

以上で

殴り書きですが、これで ConoHa なんかを Ruby の実行場所にして、ローカルは Windows上でコーディング、というようなことが一応できます。

問題点

  • ローカルからリモートへの同期は自動でできますが、リモート側で行った更新をローカルへもってくるのは手動(「Tool」→「Deployment」→「Download」)
  • ターミナルボタンを押したら起動するのは Windows の bash
    • リモートのシェルを起動するためには「Tools」→「Start SSH session」を選択肢なければいけない*6

大結論

Windows(単体)での開発はツラい*7。素直に VirtualBox + Vagrant で共有フォルダ*8がよいでしょう。

参考ページ

あとはぜひここらへんをご覧ください。

*1:たとえば VPS

*2:実際私はこの作業と格闘することでいろいろな設定方法が理解できました

*3:2018/01/07現在

*4:本当の意味でのデプロイ場所ではない

*5:と思う

*6:一度起動すれば終了するまでOK

*7:これが言いたかった

*8:Samba

Powered by はてなブログ