0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

改行コードに関するトラブルシュート

Posted at

環境

Ubuntu20.04
Ruby2.7

はじめに

Ubuntu環境でRubyを実行したところ、つぎのエラーが表示されたため、そのトラブルシュートになります。

ruby: warning: shebang line ending with \r may cause problems

原因

エラーの内容は
「改行コードに\rが使われてると、問題を引き起こす可能性があります」という意味です。エディタで改行コードを見てると、CRLFと表示されます。CRLFはWindowsで利用される改行コードです。CRLFで作られた改行コードをLinux上で動かしたためにエラーが発生しました。

Linuxで動かすにはLinux用の改行コードに変換する必要があります。開発はWindoes環境で行い動作環境はUbuntuといった、ハイブリッド環境を使っていると、このような問題が発生しました。

改行コードを変換する

現状の改行コードを確認するコマンドです。改行部分が、\r\nで表示されていれば、Windows用のCRLFになっています。

$od -c hoge.rb

改行コードを変換するコマンドです。nkfは富士通が開発した文字コードを変換するための有名なツールです。これを使って、改行コードも変換することができます。

$nkf -Lu hoge.rb > hoge_lf.rb

変換後の改行コードを確認します。改行部分が、\nで表示されていれば、Linux用のLFになっています。

$od -c hoge_lf.rb

VS Codeで直す

VS Codeを使って改行コードをCRLFからLFに直すこともできます。やり方はいたって簡単です。改行コードはVS Codeの右下のバーに表示されます。そこをクリックして、改行コードのプルダウンメニューからLFを選択します。その後、更新すれば、改行コードをLFになっています。

0
0
1

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?