Cygwin /cygdrive/c нет такого файла или каталога

Хост-система: Windows Server 2008 32-разрядная
Установлено: Cygwin

Я не знаю, когда началась эта проблема, но один из моих драгоценных камней Rails использует команду 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 возвращается.

2 ответа

Решение

Я нашел ответ на superuser.com; перемещение C:\cygwin\bin перед переменной PATH исправлена ​​ошибка.

Это исправление было необходимо, но не достаточно для меня; понадобилось еще одно исправление. Я получаю сообщение об ошибке при запуске сценариев оболочки Bourne, которые ссылаются на другие файлы в локальной файловой системе. Все пути проверены. Только когда я использовал метод Sys Internals для устранения неполадок, я заметил дополнительный символ в конце пути, который не разрешался. При просмотре сценария оболочки в Notepad++ с помощью команды "Вид / Показать символ / Показать все символы" открывается конец строки в стиле Windows [CR][LF], а не Unix [LF]. Файл Cygwin's sh.exe содержал [CR] в конце пути, в результате чего файл не был найден. Я применил Cygwin's d2u для преобразования концов строк, и проблема была решена.

Другие вопросы по тегам