5

ホスト システム: Windows Server 2008 32 ビット
インストール済み: Cygwin

この問題がいつ始まったのかはわかりませんが、私の Rails gem の 1 つはこのコマンドwhichを使用して、システムにインストールされた実行可能ファイルの場所を特定します。私の状況では、返さ/cygdrive/c/Windows/System32/pngcrushれ、ファイルにアクセスできません。

cygwin ターミナルと Windows cmd の両方で、次のようになります。

ls -la /cygdrive/c=No such file or directory

mount=

C:/cygwin/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin on / type ntfs (binary,auto)
B: on /cygdrive/b type smbfs (binary,posix=0,user,noumount,auto
C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)

cd /Windows ターミナルで実行すると、C:\

cd /cygdrive=The system cannot find the path specified

さらに編集:

/cたとえば、ドライブにアクセスできますが、どれが返さ/cygdrive/cれるかはわかりません。which

4

2 に答える 2

5

superuser.comで答えを見つけました。C:\cygwin\binPATH 変数の前に移動すると、問題が修正されました。

于 2014-09-03T17:23:01.560 に答える
3

この修正は私にとって必要でしたが、十分ではありませんでした。もう1つ修正が必要でした。localFS 上の他のファイルを参照する Bourne シェル スクリプトを実行すると、エラーが発生しました。すべてのパスがチェックアウトされました。Sys Internals procmon を使用してトラブルシューティングを行うまで、パスの最後に解決されていない余分な文字があることに気付きました。View/Show Symbol/Show All Characters を使用して Notepad++ でシェル スクリプトを表示すると、Unix [LF] ではなく、Windows スタイル [CR][LF] の行末が明らかになりました。Cygwin の sh.exe は、パスの末尾に [CR] を含めていたため、ファイルが見つかりませんでした。cygwin の d2u を適用して行末を変換したところ、問題は修正されました。

于 2016-01-07T15:05:23.130 に答える