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 для преобразования концов строк, и проблема была решена.