如何解决Windows运行expo-webpack时编辑文件出现EPerm报错的问题
Windows本地expo-webpack服务器EPERM错误修复方案
以下是经过验证的可解决该问题的操作步骤:
- 关闭代码编辑器的自动备份功能,这类功能生成的~后缀临时备份文件是触发lstat权限错误的核心原因。如果你使用VS Code,直接在设置中关闭
files.createBackup选项即可,其他编辑器可在备份设置项中取消「保存时生成备份文件」的勾选。 - 修改expo-webpack配置,让文件监听逻辑主动忽略临时文件:
在项目根目录新建/修改webpack.config.js,配置内容如下:
const createExpoWebpackConfigAsync = require('@expo/webpack-config'); module.exports = async function (env, argv) { const config = await createExpoWebpackConfigAsync(env, argv); config.devServer = config.devServer || {}; config.devServer.watchOptions = config.devServer.watchOptions || {}; // 忽略所有~后缀、临时、备份文件 config.devServer.watchOptions.ignored = [ ...(Array.isArray(config.devServer.watchOptions.ignored) ? config.devServer.watchOptions.ignored : []), /~$/, /\.tmp$/, /\.bak$/ ]; return config; };
- 解决文件只读属性自动恢复问题:
右键点击项目根文件夹,选择「属性」,取消「只读」勾选后点击应用,确认将修改应用到所有子文件夹和文件;随后切换到「安全」选项卡,给当前登录的Windows用户添加「完全控制」权限。完成后将项目文件夹添加到Windows Defender的排除扫描列表,避免安全软件实时扫描时锁定文件触发权限异常。 - 如果上述操作仍未解决问题,可在刚才的
watchOptions配置中新增poll: 1000参数,用轮询模式替代Windows原生文件系统监听,彻底规避系统级文件锁冲突,仅会轻微增加CPU占用,不影响正常开发。
内容的提问来源于stack exchange,提问作者Wesley Earl Stander
相关产品推荐
相关产品推荐

