You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vagrant Homestead部署Laravel Backpack Pro遇storage:link协议错误求助

解决Vagrant Homestead下Laravel Backpack Pro的storage:link协议错误问题

问题重现

在Vagrant Homestead环境搭建Laravel Backpack Pro项目时,依赖安装后触发php artisan storage:link --quiet命令报错:

Script php artisan storage:link --quiet handling the post-install-cmd event returned with error code 1 symlink():protocol error

已尝试管理员身份运行Git Bash、手动执行artisan命令、确认storage权限为drwxrwxrwx 1 vagrant vagrant 0 Jan 22 07:22 storage,问题仍未解决。

可行解决方案

1. 开启Homestead共享文件夹的NFS挂载类型

Windows环境下,默认VirtualBox共享文件夹对symlink支持有限,修改Homestead.yaml的共享文件夹配置,添加type: "nfs":

folders:
    - map: ~/your-local-project-path
      to: /home/vagrant/your-vm-project-path
      type: "nfs"
      mount_options: ["nolock", "vers=3", "udp", "noatime", "actimeo=1"]

修改后执行命令重新加载环境:

vagrant reload --provision

2. 直接用系统命令创建软链接

跳过Laravel的artisan命令,通过vagrant ssh进入虚拟机后,用绝对路径创建symlink:

ln -s /home/vagrant/your-project/storage/app/public /home/vagrant/your-project/public/storage

替换命令中的项目路径为实际路径即可。

3. 关闭Windows快速启动

Windows快速启动会导致文件系统挂载异常,影响symlink创建:

  • 打开「控制面板」→「电源选项」→「选择电源按钮的功能」
  • 点击「更改当前不可用的设置」,取消勾选「启用快速启动(推荐)」
  • 保存设置后重启电脑,再重新启动Homestead环境。

4. 绕过symlink,直接配置文件映射

如果以上方法都无效,可修改Laravel的文件系统配置,直接指向存储目录:

  1. 编辑config/filesystems.php,修改public磁盘配置:
'public' => [
    'driver' => 'local',
    'root' => storage_path('app/public'),
    'visibility' => 'public',
],
  1. 修改Nginx配置(Homestead的站点配置在sites目录下),添加路径映射:
location /storage {
    alias /home/vagrant/your-project/storage/app/public;
}

修改后执行vagrant reload --provision生效。

内容的提问来源于stack exchange,提问作者Yeo Bryan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 23:25:07