执行npm run development报错:ENOENT找不到指定文件
解决npm run development时的ENOENT文件找不到错误
遇到这个ENOENT错误很常见,本质是Laravel Mix在尝试读取/home/Project/project/public/desktop/css/desktop.css时找不到目标文件,下面是一步步的排查和解决方法:
先确认文件是否存在
直接到路径/home/Project/project/public/desktop/css/下查看,有没有desktop.css这个文件。如果没有,要么手动创建这个文件(如果确实需要它),要么检查你的Mix配置是不是写错了路径。检查webpack.mix.js的配置
打开项目根目录的webpack.mix.js,找里面处理这个CSS文件的代码(比如mix.styles()、mix.sass()或者版本控制相关的配置)。这里很容易踩的坑是:把源文件路径写成了public目录的路径——通常我们是从resources目录编译资源到public,而不是直接读取public里的文件进行处理。如果是路径拼写错误,修正后重新运行命令即可。清理缓存后重新构建
有时候缓存会导致Mix读取旧的路径配置,试试这些操作:- 删除项目根目录下的
public/mix-manifest.json文件 - 清理Mix的缓存:
rm -rf node_modules/.cache - 重新运行
npm run development
- 删除项目根目录下的
检查文件权限
Linux系统下权限问题也可能导致“找不到文件”的假象,运行下面的命令赋予目录合适的权限:chmod -R 755 /home/Project/project/public/desktop
另外还要注意:Linux系统是区分大小写的,如果你配置里写的是Desktop.css但实际文件是desktop.css,也会触发这个错误,仔细核对文件名的大小写。
内容的提问来源于stack exchange,提问作者JCP
相关产品推荐
相关产品推荐

