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

Laravel & Vite报错:EACCES权限拒绝,无法打开'public/hot' 求助

解决Laravel Sail运行npm run dev权限错误的方法

方法一:在容器内执行npm命令

Sail基于Docker容器运行,宿主机与容器的用户权限不匹配是核心问题,正确操作是进入容器内执行命令:

  • 启动Sail容器:./vendor/bin/sail up -d
  • 进入容器终端:./vendor/bin/sail shell
  • 在容器内运行开发命令:npm run dev

这种方式生成的public/hot文件会匹配容器内的权限规则,不会触发权限拒绝错误。

方法二:调整宿主机public目录权限

如果需要在宿主机直接执行npm,先确保public目录具备可写入权限:

  • 开放目录读写权限:chmod -R 775 public
  • 或者将目录所有者改为当前用户:sudo chown -R $USER:$USER public
    完成后重新运行npm run dev即可。

方法三:修改Vite热更新文件路径(可选)

若上述方法无效,可通过修改Vite配置,将热更新文件转移到权限更宽松的目录:

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import { storage_path } from './vendor/laravel/framework/src/Illuminate/Foundation/helpers';

export default defineConfig({
    plugins: [
        laravel({
            input: ['resources/css/app.css', 'resources/js/app.js'],
            refresh: true,
            hotFile: storage_path('vite.hot'), // 将热更新文件移至storage目录
        }),
    ],
});

修改配置后重新执行npm run dev即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 17:56:09