本地启动旧项目报错Cannot find module '@babel/core',已安装仍未解决
解决「Error: Cannot find module '@babel/core'」报错问题
本地启动旧项目重构时,触发「Error: Cannot find module '@babel/core'」报错,项目已尝试删除重装依赖,但问题重复出现。
package.json 内容
{"name": "bangba", "version": "0.1.0", "description": "", "main": "index.js", "scripts": { "server": "nodemon build/index.js", "start": "node build/index.js", "stop": "pm2 stop index", "build:server": "babel src -d build", "build:client": "npx webpack --mode=production", "dev:server": "nodemon --exec babel-node src/index.js", "dev:client": "npx webpack --mode=development -w" }, "repository": { "type": "git", "url": "git+https://github.com/somn45/Bangba.git" }, "author": "somn45", "license": "ISC", "bugs": { "url": "https://github.com/somn45/Bangba/issues" }, "homepage": "https://github.com/somn45/Bangba#readme", "devDependencies": { "@babel/cli": "^7.19.3", "@babel/node": "^7.16.7", "@babel/polyfill": "^7.12.1", "@babel/preset-env": "^7.16.7", "@flydotio/dockerfile": "^0.5.0", "babel-loader": "^8.2.3", "connect-mongo": "^4.6.0", "css-loader": "^6.5.1", "file-loader": "^6.2.0", "mini-css-extract-plugin": "^2.5.2", "nodemon": "^2.0.15", "pm2": "^5.2.2", "sass-loader": "^12.4.0", "style-loader": "^3.3.1", "url-loader": "^4.1.1", "webpack": "^5.66.0", "webpack-cli": "^4.9.1" }, "dependencies": { "aws-sdk": "^2.1282.0", "bcrypt": "^5.0.1", "body-parser": "^1.19.1", "dotenv": "^10.0.0", "express": "^4.17.2", "express-session": "^1.17.2", "express-validator": "^6.14.0", "mongoose": "^6.1.4", "morgan": "^1.10.0", "multer": "^1.4.4", "multer-s3": "^2.10.0", "node-fetch": "^2.6.0", "node-sass": "^7.0.1", "path": "^0.12.7", "pug": "^3.0.2" } }
错误信息
Error: Cannot find module '@babel/core' Require stack: - C:\Users\somn4\AppData\Roaming\npm\node_modules\@babel\node\lib\_babel-node.js
解决方案
1. 安装缺失的@babel/core依赖
从提供的package.json可以看到,devDependencies中没有@babel/core,而@babel/cli、@babel-node、babel-loader等工具都依赖它。执行以下命令安装:
npm install @babel/core --save-dev
2. 避免全局与本地依赖版本冲突
错误提示显示调用的是全局安装的@babel/node(路径在系统全局npm目录),而项目依赖的是本地版本,两者版本不一致会导致找不到本地的@babel/core。解决方法:
- 修改
dev:server脚本,使用npx调用本地的babel-node:"dev:server": "nodemon --exec npx babel-node src/index.js" - 或者卸载全局的@babel/node,确保所有babel工具都使用项目本地版本:
npm uninstall -g @babel/node
3. 统一babel相关包版本
当前项目中@babel/cli是7.19.3,而@babel/node、@babel/preset-env是7.16.7,版本差异可能引发兼容性问题。可以将所有babel相关包升级到同一版本(比如7.19.3):
npm install @babel/core@7.19.3 @babel/node@7.19.3 @babel/preset-env@7.19.3 --save-dev
内容的提问来源于stack exchange,提问作者pickle23
相关产品推荐
相关产品推荐

