npm ERR! code EAI_AGAIN
如下图:
这个错误网上有多种解释,也有多种解决方法。
我这里的解决方法是修改了npm的源。
原来使用的是 http://mirrors.cloud.tencent.com,修改为:https://registry.npm.taobao.org。
修改方法:npm config set registry https://registry.npm.taobao.org
,输入npm config get registry
验证成功。
这样配置后,会写入~/.npmrc
配置文件,属于永久生效。
临时使用可以使用npm --registry https://registry.npm.taobao.org install express
安装特定包。
网上给出的方法包括但不限于:
- 设置网络代理,这个需要与网络管理员确认,命令:
npm config set proxy http://192.168.1.2:9999
- 关闭ssl选项:
npm config set strict-ssl false
- 清空缓存等
大家根据自己的情况尝试即可。
npm warn xxx requires a peer of xxxx but none is installed
如下图:
依赖的包没有安装,需要手动安装。
命令如下:npm install --save-dev xxxxx
,注意,这时的xxxx为上述错误中的全部内容。
比如图片中的错误,就要输入:npm install --save-dev [email protected]^4.0.1
,如果包名中间含有空格等特殊字符,需要使用双引号包含起来。
npm warn optional skipping optional dependency: [email protected]
如下图:
npm跳过了可选的依赖,因为这个依赖包无法安装到本机。
比如图片中的这个包,是mac系统下的,在linux和windows下均不支持。
因为它是可选的,不安装不会影响后续使用。
found 5 vulnerabilities
如下图:
其实,提示信息已经说明,可以使用npm audit fix
修复。
也可以使用npm audit
查看详细信息,详细信息会列出安装方式,执行即可。
npm run dev 时报错
如下图:
这个错误一般是使用了不恰当版本的包引起的。代码是依赖旧版本的包写的,而你装了新版本的winston来运行。
两种解决方法:
- 安装相应的旧版本的包,如果不是开发者,建议使用此方法
- 修改代码到新版本