rails new でエラー「invalid byte sequence in Windows-31J」がでます

投稿者: Anonymous

RubyとRailsをインストール後、[>rails new —] で次のエラーが出ます。 

C:/Ruby25-x64/lib/ruby/site_ruby/rbreadline.rb:3908:in `codepoints': invalid byte sequence in Windows-31J (ArgumentError)

C:/Ruby25-x64/lib/ruby/site_ruby/rbreadline.rbをクリックすると、コンソール画面 が一瞬現れてすぐ消えます。invalid byte sequenceを少し調べてみたのですがよくわかりません。宜しくお願いします。

環境

  • Windows10 Home
  • ruby 2.5.1p57 (2018-03-29 revision 63029) [x64-mingw32]
  • rails 5.1.6

今回はこのサイトを参考にしています。 

解決

Windows のエンコーディングの問題です。

今回の場合、Ruby のデフォルト外部エンコーディングの設定が Windows-31J に設定されているのに、外部ファイルのエンコーディングが Windows-31J ではなかった (おそらく UTF-8 になっている) ためにエラーが出ています。

Ruby に外部エンコーディングが UTF-8 だと教えてあげればよいので、set RUBYOPT=-EUTF-8 などで設定すれば直ります (参考12)。

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *