解决VirtualBox共享文件夹在Windows下符号链接创建问题(新手避坑帖)

VirtualBox共享文件夹在Windows下运行需要符号链接程序会出现错误,如Npm和Yarn

目前在使用HomeStead虚拟机学习Laravel的使用遇到的第一个坑就是在使用

yarn install

或者

npm install

通常会出现报错,提示Symlink创建错误,这通常导致大家无法继续使用laravel Mix编译前端资产

针对此问题在Laravel 文档的Homestead介绍的最下方有关于符号链接问题的解决方案

Windows 上的符号链接#

如果符号链接在你的 Windows 机器上无法正常工作,你可能需要添加以下的设置到 Vagrantfile 文件:

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

然而在添加以下设置到Vagrantfile后还是无法正常运行yarn

这是因为很多用户都是使用鼠标右键在homestead文件及下打开Git Bash,这里最重要要的一步骤就是使用管理员身份运行Git Bash,然后运行

vagrant up --provison

指令,使虚拟机在管理员身份终端下打开,此时就可以正常的创建符号链接了。

网上有一些替代的办法,使用

yarn install --no-bin-links

强制不创建符号链接,但是此举会导致

npm run dev

等指令失败

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1

现在好像需要这样了?

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

在 Vagrant 官网上找的。

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!