npm使用过程中遇到的问题

60 阅读1分钟

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,需要手动变更原来的配置项。

步骤:

  1. 进入C:\Program Files\nodejs
  2. 依次修改 npm, npm.cmd, npx, npx.cmd这四个文件(可能需要用管理员身份)。
  3. 修改的内容:将其各自文本中的“prefix -g”替换成“prefix --location=global”
  4. 运行npm -version检查(发现此报错消失)

npm install 提示 Error: certificate has expired

报错:(certificate has expired)证书已过期。

原因:npm下载组件时默认会去检验网站的ssl证书,而网站的ssl证书已过期或没有安装。

解决办法:取消校验ssl证书,具体代码如下:

npm config set strict-ssl false

常见的现象:

  1. 大厂的私有仓库由于在内网开发,所以通常不需要安装ssl证书。
  2. 更换淘宝镜像时,发现报错证书已过期,那是因为淘宝的镜像网站更换了,原地址已不再维护但是仍然可访问。具体公告在:developer.aliyun.com/mirror/NPM,具体变化如下:
http://npm.taobao.org => http://npmmirror.com
http://registry.npm.taobao.org => http://registry.npmmirror.com

此时的最佳做法是更换到最新的淘宝源。