Laravel Усадьба - Невозможно создать символическую ссылку на windows 10 - PullRequest
1 голос
/ 27 февраля 2020

Я запускаю команду gitbash в качестве администратора на машине windows 10.

Я перехожу к каталогу усадьбы: cd homestead

Запускаю бродягу: vagrant up

I sh на виртуальной машине: vagrant ssh

Я перехожу в каталог проекта: cd project1

Я запускаю команду symlink: php artisan storage:link

Я получаю сообщение об ошибке: ErrorException : symlink(): Input/output error

Почему это не работает?

Примечание. Я также обновляю vagrantfile в каталоге hometead, добавляя этот код в следующий раздел:

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  // other stuff

  config.vm.provider "virtualbox" do |v|
     v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
  end
end

Примечание. Я также установил плагин vagrant-winnfsd, и в моем файле yaml есть следующее - не уверен, оказывает ли это какое-либо влияние:

folders:
- map: ~/code/project1
  to: /home/vagrant/project1
  type: "nfs"

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 04 марта 2020

Я просто столкнулся с той же проблемой, и решение было не S SH в Vagrant или усадьбу и вручную создать символическую ссылку с хоста (win10)

От администратора CMD или Git Bash go в папку / project1 root и запустите следующую команду:

ln -sr storage/app/public public/storage

Она создаст «папку» (файл ссылок) ./public/storage, которую вы также можно просматривать с помощью Windows Explorer, неотличимого от обычной папки, но с тем же содержимым, что и ./storage/app/public.

Также я заметил, что у вас есть:

folders:
- map: ~/code/project1
  to: /home/vagrant/project1

Я не думаю, что Windows понимает ~ в пути.

Вы должны сопоставить папку / syn c a Windows с папкой VM. Мой выглядит так:

folders:
    - map: C:/projects/
      to: /home/vagrant/projects

Таким образом, я могу получить доступ ко всем моим проектам, находящимся в папке C: / projects, без необходимости настраивать каждый новый отдельно.

Удачи!

...