Angular项目存OneDrive同步报错:postcss-initial下~目录无法同步
问题原因
这是OneDrive同步和postcss-initial旧版本依赖冲突的共性问题,大量Windows下把前端项目放在OneDrive目录的开发者都遇到过相同报错。
- OneDrive在Windows环境下有明确的同步限制:不支持同步名称为
~或者以~开头的文件/目录,这类命名格式属于Windows系统遗留的临时文件/短文件名标识,OneDrive会默认拦截避免和系统生成的临时文件冲突。 - Angular项目依赖的旧版
postcss-initial包(低于4.0.1版本)的源码目录中确实存在命名为~的嵌套目录,刚好触发了OneDrive的同步限制。
解决方案
- 最优方案:将
node_modules目录加入OneDrive的同步排除列表。node_modules本身不需要同步,所有依赖都可以通过项目根目录下执行npm install完整恢复,排除后既不会出现同步报错,还能节省OneDrive的同步空间。操作路径:OneDrive设置→同步和备份→管理排除项,添加项目根目录下的node_modules路径即可。 - 次选方案:升级项目中的
postcss-initial依赖到4.0.1及以上版本,该版本起官方已经移除了命名为~的问题目录,不会再触发同步报错。 - 临时方案:手动删除
node_modules\postcss-initial路径下的~目录即可暂时消除同步报错,但重新执行依赖安装命令后目录会重新生成,仅适合临时应急使用。

内容的提问来源于stack exchange,提问作者Frank Leverenz
相关产品推荐
相关产品推荐

