Ruby(WSL:Ubuntu) を Atom(Windows10) から実行する


概要

本記事は、Windows10 の Atom から Ruby (Ubuntu ON WSL(Windows Subsystem for Linux))を実行する方法を書いたものです。

前提

  • WSL の Ubuntu に Ruby がインストールされていること。
  • Windows10 に Atom (https://atom.io) がインストールされていること。
  • Atom に Atom Runner がインストールされていること。

環境構築手順(Ubuntu側)

Windows のrbファイルのパスを Ubuntuのパスに置換して、実行するスクリプト作成

Atom から渡されてくる rb ファイルのパス( 例: d:\ruby\sample.rb) を Ubuntu で取り扱えるパス (例: /mnt/d/ruby/sample.rb)に置換して、ruby コマンドに渡すスクリプトです。

~/bin/ruby.sh
#!/bin/bash
arg1=$1
rubyFilePath=`echo /mnt/${arg1,} | sed -e 's/://' | sed -e 's/\\\\/\\//g'`
$HOME/.rbenv/shims/ruby $rubyFilePath
exit 0

このスクリプトに実行権限を付与してください。

$ chmod 755 ~/bin/ruby.sh

環境構築手順(Windows側)

ruby.sh を呼び出す ruby.bat の作成

ruby.bat
@ubuntu.exe run "$HOME/bin/ruby.sh" '%1'

ruby.bat を任意の場所に配置します。

atom から ruby.bat を呼び出す設定を行う

%USERPROFILE%\.atom\config.cson
"*":
  (省略)
  'runner':
    'scopes':
      'ruby': 'ruby.bat のフルパスをここに記述する'

※ruby.batのフルパス記述時、\\\ に置換して書いてください。
記述例:

%USERPROFILE%\.atom\config.cson
"*":
  (省略)
  'runner':
    'scopes':
      'ruby': 'c:\\tool\\bin\\ruby.bat'

実行

Atom で rb ファイルを開いて Alt + R