1. 常用命令
node -v // 查看 node 版本
npm --version // 查看 npm 版本
npm cache clean --force // 清理缓存
2. 更改 npm 源
首先,查看一下原有的 npm 源:
npm config get registry
结果:https://registry.npmjs.org/
然后更改为淘宝源,这样可以使安装依赖的速度更快:
// 新
npm config set registry https://registry.npmmirror.com
// 旧
npm config set registry https://registry.npm.taobao.org
再查看一下 npm 源,已经更新成功了:
npm config get registry
结果:https://registry.npm.taobao.org/
或者可以安装 cnpm,与 npm 命令分开使用:
npm install -g cnpm --registry=https://registry.npmmirror.com
3. 切换 Node 版本
方式 1: n 模块
n 16.8.0 // 安装 16.8.0 的版本并切换到该版本
前提是要全局安装
n,但是 Windows 系统可能安装不了
方式 2: nvm
nvm version // 查看 nvm 的版本
nvm ls-remote // 列出全部可安装的 node 版本(Windows系统不可用)
nvm list available // 列出全部可安装的 node 版本
nvm list // 列出已下载的 node 版本
nvm install 16.8.0 // 安装特定的 node 版本
nvm use 16.8.0 // 使用特定的 node 版本
Mac 上 安装 nvm 详见:juejin.cn/post/711936…
4. npm install 时出现版本冲突问题
报错信息:
npm ERR! Conflicting peer dependency: webpack@4.46.0
npm ERR! node_modules/webpack
npm ERR! peer webpack@"^4.0.0" from css-loader@2.1.1
npm ERR! node_modules/css-loader
npm ERR! dev css-loader@"^2.1.1" from the root project
npm ERR! peer css-loader@"*" from vue-loader@13.7.3
npm ERR! node_modules/vue-loader
npm ERR! dev vue-loader@"^13.3.0" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
解决方法:
采用npm i --legacy-peer-deps来安装,意思是忽略版本冲突,用 npm v7 之前的旧方式安装依赖,允许存在多个版本的依赖。
5. npm install 时报错获取不到属性 pickAlgorithm
报错信息:
npm ERR! Cannot read properties of null (reading 'pickAlgorithm')
解决方法:
清下缓存npm cache clear --force再重新安装即可
6. --global、--local 已弃用
报错信息:
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
解决方法:
- 找到 nodejs 安装路径下的
npm.cmd和npm文件- 将代码中的
prefix -g替换成prefix --location=global- 如果 Windows 无法直接编辑,可把文件移到桌面,编辑完再移回去
参考文档:blog.csdn.net/LIZHUOLONG1…
7. 安装的 debug 依赖包里缺少文件
运行 npm run dev 时报错:
node:internal/modules/cjs/loader:361
throw err;
^
Error: Cannot find module 'D:\code\express-mock\node_modules\debug\src\index.js'. Please verify that the package.json has a valid "main" entry
解决方法:
删掉package-lock.json再重新npm install即可
8. node、node-sass、sass-loader 版本匹配
例如:如果 node 版本为 16.15.1,则应在 package.json 中指定 node-sass 和 sass-loader 版本:
"node-sass": "^6.0.0"
"sass-loader": "^10.0.0"