Vagrant Laravel Homestead-无法在windows 10上创建符号链接

Vagrant Laravel Homestead-无法在windows 10上创建符号链接,vagrant,symlink,homestead,laravel-6.2,Vagrant,Symlink,Homestead,Laravel 6.2,我在Windows10计算机上以管理员身份运行gitbash命令 我导航到homestead目录:cd homestead 我开始流浪:vagrant up 我ssh进入虚拟机:vagrant ssh 我导航到项目目录:cd project1 我运行symlink命令:php artisan存储:link 我得到错误:ErrorException:symlink():输入/输出错误 为什么这不起作用 注:我还通过将此代码添加到以下部分来更新homestead目录中的Vagrant文件: Vagr

我在Windows10计算机上以管理员身份运行gitbash命令

我导航到homestead目录:
cd homestead

我开始流浪:
vagrant up

我ssh进入虚拟机:
vagrant ssh

我导航到项目目录:
cd project1

我运行symlink命令:
php artisan存储:link

我得到错误:
ErrorException:symlink():输入/输出错误

为什么这不起作用

注:我还通过将此代码添加到以下部分来更新homestead目录中的Vagrant文件:

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: c:\code\project1
  to: /home/vagrant/project1
  type: "nfs"

感谢您的帮助。

我遇到了同样的问题,解决方案是而不是SSH进入流浪者或家园,并从主机手动创建符号链接(win10)

从Admin CMD或Git Bash转到/project1根文件夹并运行以下操作:

ln -sr storage/app/public public/storage
它将创建一个“文件夹”(链接文件)。/public/storage,您也可以使用Windows资源管理器浏览该文件夹,与常规文件夹没有区别,但内容与。/storage/app/public相同

我还注意到你有:

folders:
- map: ~/code/project1
  to: /home/vagrant/project1
我认为Windows无法理解路径中的~

您应该将Windows文件夹映射/同步到VM文件夹。我的看起来像这样:

folders:
    - map: C:/projects/
      to: /home/vagrant/projects
这样,我就可以访问C:/projects文件夹下的所有项目,而无需单独设置每个新项目


祝你好运

我已经尝试了您所说的,以管理员身份运行gitbash,进入根目录并运行上面的命令。在公用文件夹中创建存储目录。但是,只要将文件保存到
存储/app/public
中,相同的文件就不会出现在
公共/storage
?@adam78中,这是正确的。我只是试了一下,但没用。也许我没有注意到是什么让它起作用的。我能够让它使用常规CMD使用以下
mklink/J.\public\storage.\storage\app\public
。您应该会在文件夹旁边看到一个链图标。让我知道这是否适用于您。我也尝试过,但使用了
/D
标志而不是
/J
,这会创建带有链图标的符号链接,但不会传播到homestead内的映射文件夹。如果你用SSH将homestead连接到网站目录,你会看到public/storage文件夹高亮显示为红色,你无法将cd插入其中。ubuntu中的符号链接应该是蓝色的