1

このチュートリアルに従って、Cygwinを介してRVMをインストールしようとしています。

ディレクトリを作成してgitリポジトリのクローンを作成した後、。/osx_or_cygin_kick_offを実行してインストールプロセスを開始する必要があります。

これは私が受け取っているエラーメッセージです:

  $ ./osx_or_cygwin_kick_off
  ./automation/rvm/rvm_install: line 2: $'\r': command not found
  ./automation/rvm/rvm_install: line 3: syntax error near unexpected token `$'\r''
  '/automation/rvm/rvm_install: line 3: `install_rvm()
  ./automation/rvm/rvm_install_some_rubies: line 2: $'\r': command not found
  ./automation/rvm/rvm_install_some_rubies: line 3: syntax error near unexpected token `$'\r''
  '/automation/rvm/rvm_install_some_rubies: line 3: `install_some_rubies()

doc2unixを介してファイルをUNIX形式に変換すると問題が解決する可能性があることをどこかで読みましたが、それはより多くのエラーメッセージを作成するだけです。

助言がありますか?

4

1 に答える 1

2

編集:

問題は、一部のCygwingitインストールが魔法のラインフィード処理を行おうとすることです。行末のマングリングを停止するようにgitを修正するには、次のコマンドを実行します。

git config --global core.autocrlf false

コメントを明確にした後、元の回答がより一般的になりました。

このファイルには、Windowsで一般的なCRLF(\r\n)エンドラインシーケンスが含まれています。しかし、Unixはそれが好きではありません。Unix(およびCygwin)はLF(\n)だけを必要とします。そのファイルをカットアンドペーストしたか、Windowsの行末を追加したメカニズムを介してダウンロードしたと思います。

Cygwinでファイルを修正するには:

tr -d '\r' <filename >filename.tmp

filename.tmpが正常に見えることを確認してから、次のようにします。

mv -f filename.tmp

または、ブラウザのダウンロードと保存(カットアンドペーストではなく)を実行するか、Cygwinシェルからまたはを使用してダウンロードしcurlますwget

上記のすべての場合、実行可能ファイル(読み取り可能)はおそらくありません。次のいずれかで実行可能にすることができます。

chmod 755 filename

または、シェルを明示的に実行します。

sh filename

Windowsエディターを使用してCygwinファイルを操作すると、この問題が頻繁に発生します。Cygwin内のエディターは問題ありません(例:Vim)。オプションで、多くの無料のWindowsエディターはUnixの行末をサポートしています。 Notepad ++は、Unixの行末オプションを備えた優れたものです。

于 2013-03-20T22:58:51.677 に答える