1、npm run build 提示 invalid version
原因:
在 npm 校验中不允许出现
\d+\.\d+.\d+.\d+,只能是\d+\.\d+\.\d+npm 会采用以三个点分隔的数字开头;但不以四个点分隔的数字开头的任何内容。
解决:
修改版本号
2、npm 版本在 7+以上的时候,npm i 报错
原因:
在
NPM v7中,默认安装peerDependencies而我们平常安装的模块的 依赖,大多 会安装在devDependencies或者dependencies这种设计在NPM v7之前,不会出现版本打架的情况,但是在V7版本开始,会存在安装的时候,peerDependencies和devDependencies、dependencies版本冲突的情况 这个时候,npm不知道是安装peerDependencies里面的版本包,还是安装devDependencies、dependencies内的版本包。这个时候就会报错
解决:
1、在不改变 npm 版本的情况下
使用
npm i --legacy-peer-deps目的是绕过peerDependency自动安装;它告诉NPM忽略项目中引入的各个modules之间的相同modules但不同版本的问题并继续安装,保证各个引入的依赖之间对自身所使用的不同版本modules共存。
—legacy-peer-deps 具体做了什么,可以点击链接访问
npm i --legacy-peer-deps
2、改变 npm 全局版本
npm i npm@6.14.15 -g
3、在虚拟环境 下载依赖 报错
报错如下:
No space left on device
原因:
虚拟环境磁盘空间满了
4、私库中新建了一个group之后,上传包报错
报错如下:
Unable to authenticate, need: BASIC realm=”Sonatype Nexus Repository Manager”
看到报错之后,我仔细查看了一下问题,上网找了一下,有说需要把 npm Bearer Token Reaim放入 Active中,并保存
但是加入之后,我重新登录之后,依然报同样的错误。然后继续查找相关问题,查到需要在本地的 .npmrc 文件中,需要新增 always-auth、_auth、email 这三个东西。
其中,_auth 的值为私库的 用户名:密码 进行 base64 编码而成
5、package.lock.json 在 Git 提交时有冲突,如何处理?
解决 package.json 中的冲突,然后使用 npm install --package-lock-only 让 npm帮你自动解决冲突 官方推荐做法
6、本地开发开启 HTTPS
MAC 环境
# 1、安装$ brew install mkcert# 如果用 Firefox 需要额外安装 nss$ brew install nss# 2、安装本地证书机构$ mkcert -install# 3、生成证书$ mkcert localhost 127.0.0.1
Windows 环境
# 1、修改命令执行策略Set-ExecutionPolicy -ExecutionPolicy Bypass# 2、远程安装chocolateyiex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))# 3、验证是否安装成功choco # 如果出现 Chocolatey version 就说明安装成功,如果报错可以多安装几次# 4、安装 mkcertchoco install mkcert # 可能会失败,试多几次# 5、安装本地证书机构mkcert -install# 6、使用 mkcert 生成证书mkcert localhost 本地ip
使用
这里借助的是
webpack这类打包工具
- 找到生成的证书
- 查找路径
C:\Users\用户名或者C:\Users\Administrator - 找到
localhost.pem和localhost-key.pem两个文件
- 查找路径
- 把生成的两个文件拷到项目根目录下,在启动命令前,加上以下命令
cross-env HTTPS=true SSL_CRT_FILE=localhost.pem SSL_KEY_FILE=localhost-key.pem
可以单独建个文件夹
cert存放,然后配置.gitignore,代码提交时不提交这代码,这时路径可能是SSL_CRT_FILE=./cert/localhost.pem和SSL_KEY_FILE=./cert/localhost-key.pem
7、本地在运行 npm run dev 之后,提示 Error: listen EADDRINUSE: address already in use
原因:
npm 启动服务器的时候,启用的端口被占掉了
解决办法:
windows
netstat -ano |findstr 启用的端口号
2. MAC 的效果如下<br />然后使用以下命令就可以杀死对应的进程```powershellkill -9 对应的PID
- window 的效果如下

可以使用以下命令杀死对应的进程
## tasklist|findstr [进程号] 找到对应的进程名称asklist|findstr 12920## taskkill /f /t /im [进程名称] 根据进程名称杀死进程taskkill /f /t /im /node.exe


