На этот вопрос уже есть ответ здесь:
Используя CentOS 6.5, в моем каталоге есть файл, имя которого составляет 161 символ. Этот каталог является общим для хост-виртуальной машины (Windows) и гостевой виртуальной машины (Vagrant).
Я не могу получить к нему доступ с ls
:
> ls long...file
ls: cannot access : No such file or directory
Я предполагаю, что это длинное имя файла может быть причиной сбоя процесса очистки сборки.
Кроме того, когда я ls -lrot
каталог, содержащий файл, я вижу кучу вопросительных знаков, ???
,
Какие варианты у меня есть, чтобы очистить этот файл?
Является ли файл на томе общим для системы Windows?
—
Daniel Beck
Да, это. Я попробовал как основные synched_folders, предлагаемые vagrant, так и smb ( docs.vagrantup.com/v2/synced-folders/smb.html ). Я испытываю вышеупомянутую проблему на обеих установках.
—
Kevin Meredith
Вот и ты. Не храните длинные пути (общая длина из Windows POV - т.е.
—
Daniel Beck
C:\Users\Username\Documents\blablabla...
) длиннее примерно 260 символов) на томе, смонтированном Windows. Просто не работает. Есть некоторые обходные пути но у вас будет много головной боли, просто не делая этого.
Ах, так что не имеет значения, где он установлен на гостевой виртуальной машине:
—
Kevin Meredith
/vagrant
или же /u01/a/b/c/
, Проблема в том, что длина пути Windows слишком велика? Кроме того, - моя длина пути Windows + длинный файл = ~ 260, что соответствует числу, указанному вами как проблема
Именно так. Если вы попытаетесь создать эти пути в Windows локально, у вас тоже будет сбой, без участия CentOS, Vagrant и т. Д. Я закрываю это как дубликат на данный момент. Нет причин хранить копию только потому, что обстоятельства таковы, что в вопросе даже не упоминается самая важная часть. Если вы обнаружите, что это на самом деле не связано с проблемой Windows, хотя вряд ли, пожалуйста, оставьте комментарий, чтобы сообщить мне.
—
Daniel Beck