1. ホーム
  2. windows

[解決済み] env: bash そのようなファイルやディレクトリはありません [重複].

2022-05-14 11:07:49

質問

YouCompleteMeをインストールしようとしているのは ここから .

実行すると

./install.sh --clang-completer

こんなエラーが出ます。

env: bash\r: No such file or directory

環境変数がどうなっているのかわからない。これが私のbashのパスです。

which bash 
/bin/bash

に変更する必要があるのでしょうか? /usr/bash ? もしそうなら、どうすればいいのでしょうか?私は ~/.bashrc ファイルを変更しようとしましたが、それはうまくいきませんでした。

どのように解決するのですか?

エラーメッセージによると を埋め込んだスクリプトであることがわかります。 \r 文字 を埋め込んでいることを示唆しています。 ウィンドウズスタイルの \r\n 行末 の代わりに \n -のみの改行 bash が期待されます。

として クイックフィックス を削除することができます。 \r を削除することができます。

sed $'s/\r$//' ./install.sh > ./install.Unix.sh

$'...' の文字列は ANSI-Cで引用された文字列 でサポートされている bash , ksh そして zsh . を確実に実行するために使用されます。 \r が実際の CR 文字に展開される前に sed はスクリプトを見る前に実際の CR 文字に展開されます。 sed の実装自体が \r をエスケープシーケンスとしてサポートします。

を実行し

./install.Unix.sh --clang-completer

しかし、より大きな疑問は、なぜあなたが \r\n -スタイル ファイルになったのかです。ほとんどの場合、他のファイルも影響を受けています。

おそらく、あなたが実行している Git on Windows を動かしていて、そこに 典型的な構成は、Unix スタイルの \n -のみの改行から Windows スタイルの \r\n での改行 ファイルのチェックアウト に再変換し \n -での改行のみ コミット .

一方、この には意味があります。 開発 Windows では、それは の邪魔になる インストール シナリオ のようなものです。

には Windows 上で Git が Unix スタイルのファイル終端を持つファイルをチェックアウトするようにします。 - を一時的にでも使用します。

git config --global core.autocrlf false

次に、以下のようなインストールコマンドを実行します。 git clone を含むインストールコマンドを再度実行してください。

Gitの動作を後で元に戻すには git config --global core.autocrlf true .