Laravel Sail+Vite环境用vue3-notification遇权限拒绝问题求助
解决Laravel Sail+Vite环境下启动开发服务器的EACCES权限错误
问题背景
在Vue3+Laravel Sail+Vite环境中安装vue3-notification包后,执行sail npm run dev时出现权限错误,提示无法删除容器内/var/www/html/node_modules/.vite/deps/@inertiajs_inertia-vue3.js文件,且本地找不到该路径(因为这是容器内部路径)。
解决方案
进入容器修改缓存目录权限
由于报错路径是Sail容器内部的目录,直接在本地操作无效,先通过Sail命令进入容器:sail shell进入容器后,修改
node_modules/.vite目录的权限,确保当前用户有读写权限:chown -R sail:sail node_modules/.vite # 或者使用权限设置: chmod -R 775 node_modules/.vite强制清除Vite缓存并重启服务
无需进入容器,直接在本地执行带强制清除缓存参数的启动命令:sail npm run dev -- --force这个命令会强制清除Vite的依赖缓存,避免旧缓存文件的权限问题。
重新安装依赖(兜底方案)
如果以上方法无效,先删除本地的依赖目录和锁文件:rm -rf node_modules package-lock.json然后通过Sail重新安装依赖,确保文件权限由容器内的
sail用户创建:sail npm install安装完成后再执行
sail npm run dev即可。
内容的提问来源于stack exchange,提问作者Lamantinoss
相关产品推荐
相关产品推荐

