npm使用过程中遇到的问题
下载第三方包速度过慢
原因:npm官方的源仓库地址在国外,国内由于有墙的限制所以访问速度较慢。
步骤:更换国内源(推荐淘宝)
// 查看源
npm get registry
// 切换本地配置的源地址:
npm config set registry https://registry.npmmirror.com
新版本node.js 安装包时,显示 --global --local 失效
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
参考:npm WARN config global
--global
,--local
are deprecated. Use
原因:高版本的npm不再支持 -g
等操作,但是下载的node版本仍默认使用 -g
,需要手动变更原来的配置项。
步骤:
- 进入
C:\Program Files\nodejs
- 依次修改
npm, npm.cmd, npx, npx.cmd
这四个文件(可能需要用管理员身份)。 - 修改的内容:将其各自文本中的
“prefix -g”
替换成“prefix --location=global”
- 运行
npm -version
检查(发现此报错消失)
npm install 提示 Error: certificate has expired
报错:(certificate has expired)证书已过期。
原因:npm下载组件时默认会去检验网站的ssl证书,而网站的ssl证书已过期或没有安装。
解决办法:取消校验ssl证书,具体代码如下:
npm config set strict-ssl false
常见的现象:
- 大厂的私有仓库由于在内网开发,所以通常不需要安装ssl证书。
- 更换淘宝镜像时,发现报错证书已过期,那是因为淘宝的镜像网站更换了,原地址已不再维护但是仍然可访问。具体公告在:developer.aliyun.com/mirror/NPM,具体变化如下:
http://npm.taobao.org => http://npmmirror.com
http://registry.npm.taobao.org => http://registry.npmmirror.com
此时的最佳做法是更换到最新的淘宝源。