質問: しかしコマンドプロンプトでやっていたようにファイルを実行しようとすると ``` ruby:No such file or directory --ファイル名 (LoadError) ``` と、表示されてしまいます。 手順は 1. Ubuntuを開く 2. 入力待ち(名前@LAPTOP-B5M3JJ58:~$)になる 3. ruby と入力する 4. 実行したいファイルをドラッグしてくる 5. エンターキーを押す という手順でやっています。 よろしくお願いいたします。 補足情報(OS, ツールのバージョンなど) --------------------- * Windows10 * サクラエディタ 2.2.0.1(文字コードはUTF-8で作成) * Ubuntu 18.04.1 LTS * Ubuntu内のruby 2.5.1p57 [x86_64-linux-gnu]
回答: おそらく Windows 上で WSL の Ubuntu を動かしてらっしゃるのだと思います。 WSL Ubuntu と Windows ではファイルの扱い方が異なり、Windows が認識している「ファイルの場所」と Ubuntu が認識している「ファイルの場所」が異なります。ファイルを Ubuntu 上の Bash へドラッグ&ドロップすると Windows 側が認識しているファイルパスがペーストされますが、このままだと Ubuntu からは認識できないため「ファイルが見つからない」というエラーになります。 WSL Ubuntu から Windows 側にある Ruby プログラムのファイルを実行するには、以下の手順を辿るのが良いでしょう。 1. `cd` コマンドでプログラムのファイルがあるディレクトリまで移動する。 2. `ls` コマンドで確認する。 3. `ruby 〈ファイル名〉` で実行する。 この際、Windows の C ドライブ `C:\~` は Ubuntu 側では `/mnt/c/~` というパスになっていることに注意してください。たとえば Windows 側のファイルが ``` C:\Users\nek\Documents\example.rb ``` であるなら、Ubuntu 側からは ``` /mnt/c/Users/nek/Documents/example.rb ``` にあるように見えています。このため、各手順では次のようにします。 1. `cd /mnt/c/Users/nek/Documents` で移動。 2. `ls` で `example.rb` が表示されるか確認。 3. `ruby example.rb` で実行。