前端项目 npm报错解决记录
1.首先尝试解决思路
- npm报错就切换yarn , yarn报错就先切换npm
- 删除 node_modules 跟 package-lock.json文件重新下载依
2.
报错信息:
Module build failed: Error: Missing binding D:\vue-element-admin\node_modules\node-sass\vendor\win32-x64-83\binding.node
Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 14.x
Found bindings for the following environments:
- Windows 64-bit with Node.js 14.x
This usually happens because your environment has changed since running `npm install`.
Run `npm rebuild node-sass` to download the binding for your current environment.
错误点:
- 模块构建失败,报错信息显示找不到D:\vue-element-admin
\node_modules\node-sass\vendor\win32-x64-83\binding.node
绑定文件,且 Node Sass 无法找到当前环境(Windows 64 位和 Node.js 14.x)的绑定,尽管它找到了 Windows 64 位和 Node.js 14.x 的其他绑定,但可能由于环境变化导致该问题。
解决:运行 npm rebuild node-sass
来重新下载当前环境的绑定文件
npm rebuild node-sass
3.
报错信息:
npm ERR! code ETIMEDOUT npm ERR! errno ETIMEDOUT npm ERR! network request to https://registry.npm.taobao.org/only-allow failed, reason: connect ETIMEDOUT 124.200.113.104:443 npm ERR! network This is a problem related to network connectivity. npm ERR! network In most cases you are behind a proxy or have bad network settings. npm ERR! network npm ERR! network If you are behind a proxy, please make sure that the npm ERR! network 'proxy' config is set properly. See: 'npm help config'
错误点:
- npm 在尝试连接到 https://registry.npm.taobao.org/only-allow 时遇到了超时问题 (ETIMEDOUT)。
解决:可以切换回官方源试试
npm config set registry https://registry.npmjs.org/
使用淘宝 npm
镜像
npm config set registry https://registry.npm.taobao.org
3.
操作:npm i 下载依赖得时候报错
报错信息:
npm ERR! code EINTEGRITY
npm ERR! sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTq
wRtAh7JLoOzAQdVA== integrity checksum failed when using sha512: wanted sha512-n43JRhlU
KUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== but g
ot sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==. (7610 bytes)
解决:删除 package-lock.json 文件 ,重新 npm i 就能解决
4.
操作:npm run dev 运行项目报错
报错信息:
Emitted 'error' event on Server instance at:
at emitErrorNT (net.js:1343:8)
at processTicksAndRejections (internal/process/task_queues.js:80:21) {
code: 'EADDRINUSE',
errno: -4091,
syscall: 'listen',
address: '::',
port: 9001
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! vue-admin@1.0.0 dev: `node build/dev-server.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the vue-admin@1.0.0 dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
原因解析:
EADDRINUSE 错误表示端口 9001 已经被其他进程占用。这导致 npm run dev 命令无法启动开发服务器。
解决:
一、在 Windows 上:
1.查找占用端口的进程:
netstat -ano | findstr :9001
2.获取进程 ID (PID:注意最后一列的 PID(例如:25524)
3.使用 taskkill 终止该进程:
taskkill /PID 25524
二、如果前端项目本地运行
1.找到运行端口设置,一般是 vue.config.js 文件 ,或者全局搜索 报错得端口 9001
更换其他端口,重新npm run dev
port: '9000'