创建Next.js应用失败:node_modules/node-sass相关问题求助
解决方案
1. 彻底清理残留项目文件
- 删除当前创建的
overflow项目文件夹(package.json为空、依赖完全缺失,没有保留价值) - 若不想删除整个文件夹,至少删掉以下内容:
node_modules文件夹package-lock.json(或yarn.lock)文件package.json文件
2. 彻底清理npm缓存
执行比npm cache verify更彻底的缓存清理命令:
npm cache clean --force
3. 解决EBUSY文件占用问题
EBUSY错误是因为系统进程锁定了node-sass相关文件,按以下步骤处理:
- 关闭所有打开项目的编辑器(如VS Code)、终端窗口
- 检查杀毒软件是否在扫描项目文件夹,暂时关闭实时防护
- 若上述操作无效,重启电脑后再进行后续步骤
4. 重新创建Next.js项目
直接使用带配置参数的命令创建,跳过交互式选择,避免安装异常:
用npm:
npx create-next-app@latest my-next-app --typescript --eslint --tailwind --app
用yarn(npm异常时备选):
yarn create next-app my-next-app --typescript --eslint --tailwind --app
用pnpm(备选):
pnpm create next-app my-next-app --typescript --eslint --tailwind --app
5. 手动替换sass依赖(仍出现node-sass错误时)
如果重新创建后还是碰到node-sass相关问题,直接卸载它,安装官方推荐的sass(dart-sass):
npm uninstall node-sass npm install sass
问题根源说明
- node-sass已被官方弃用,Next.js 13+(App Router)默认使用sass,你遇到的错误大概率是缓存残留或安装过程中异常引入了旧依赖
- Node.js 18.x虽兼容node-sass的最后版本,但它依赖node-gyp编译,Windows环境下极易出现编译语法错误(如你碰到的括号不匹配、符号错误)
- EBUSY错误是Windows系统下文件被进程锁定导致的,必须释放占用才能正常操作
内容的提问来源于stack exchange,提问作者Mathew
相关产品推荐
相关产品推荐

