volego
@volego
Fullstack web-разработчик

Почему Windows 10 не понимает символических ссылок Linux?

Есть совместный web-проект, работа над которым ведётся разработчиками под Linux и под Windows.
Разработчик под Linux создаёт символическую ссылку из одного (публичного) каталога проекта в в другой (не доступный для web). Разработчик под Windows скачивает обновление git-ветки и видит что в публичной папке появился "файл" ссылки (без расширения, внутри текстом относительная ссылка стоит), но при этом магии не происходит, и windows не понимает что это символическая ссылка. В то же время если сделать mklink, то выведется сообщение, что "невозможно создать файл, так как он уже существует", а если указать какое-то другое имя - то ссылка создается (как ярлык) и символическая ссылка начинает работать, но нужно чтобы у обоих разработчиков были одинаковые адреса.... как заставить windows понимать файл символической ссылки из linux? ... важно отметить, что цель символической ссылки - чтобы web-сервер Nginx понимал обращение по адресу символической ссылки к файлам, которые на самом деле "лежат в другом месте".
  • Вопрос задан
  • 861 просмотр
Пригласить эксперта
Ответы на вопрос 3
saboteur_kiev
@saboteur_kiev Куратор тега Windows
software engineer
потому что windows умеет работать с NTFS, а не posix-файловыми системами.
Чотбы понимал, надо юзать встроенный WSL или не юзать виндовс.
Почитайте про то, как устроена файловая система Windows и Линукс, и поймете, что git не будет переносить сущности линукса на винду.
Ответ написан
Комментировать
SagePtr
@SagePtr
Еда - это святое
Это уже вопрос не к Windows, а к git-клиенту под Windows, который использует не все возможности файловой системы.
Ответ написан
Комментировать
@Vitsliputsli
Не надо заставлять Windows это понимать. Не используйте ссылки в коде проекта, они там не нужны.

цель символической ссылки - чтобы web-сервер Nginx понимал обращение по адресу символической ссылки к файлам, которые на самом деле "лежат в другом месте".

Если вы используете ссылки на сервере, чтобы переключаться на новые версии кода, то это не имеет никакого отношения к самому коду. Если вы используете ссылки на сервере, чтобы построить какой-то роутинг, то вы явно что-то делаете не так.

В крайнем случае, не работающая ссылка не отменяет, что файл существует по оригинальному пути.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы