npm ERR! Unexpected end of JSON input while parsing near和npm ERR! code EINTEGRITY

最近有一段时间没用npm再用的时候发现了不少错误,在使用npm install的时候出现npm ERR! Unexpected end of JSON input while parsing near等等提示,开始用了网上给出了清理cache等方法,比如https://www.cnblogs.com/gitnull/p/10193382.html 给出的,试了挺久发现对我的问题不适用,没解决,在卸掉npm重装之后还是出现这种问题,最后我换了个思路,把配置npm的全局模块的存放路径以及cache的路径给换掉之后解决了此问题,具体是什么原因导致这种问题的我也比较模糊,魔性问题,下面给出我的解决方案。

配置npm的全局模块的存放路径以及cache的路径

在cmd中输入

1
2
npm config set prefix "a:/nodejs/node_global"
npm config set cache "a:/nodejs/node_cache"

tip:如果出现命令找不到的提示说明没加入到环境变量中,把npm安装的目录放到PATH环境中(WINDOWS下)

上面俩个命令执行成功会在nodejs文件夹中创建两个文件夹,”node_global”及”node_cache” ,这个nodejs文件夹不是固定的,随你自己设定一个目录,路径填正确了,执行之后如下图所示:

!["npm_error-1"](/article_img/npm_error-1.png)

接下来就是正常的npm的安装操作了

设置淘宝镜像

我自己用的就是这个镜像

1
npm config set registry http://registry.cnpmjs.org

安装测试一下

顺便安装个镜像管理工具,方便之后镜像源更改

1
npm install -g nrm

这一步没有出现问题的话就相当于解决了

展开镜像源

1
nrm ls

如果出现命令找不到,就把刚刚的a:/nodejs/node_global加到环境变量里面,具体看你自己设的目录

成功会展示:

1
2
3
4
5
6
7
8
C:\Users\Admin>nrm ls

npm ---- https://registry.npmjs.org/
cnpm --- http://r.cnpmjs.org/
taobao - https://registry.npm.taobao.org/
nj ----- https://registry.nodejitsu.com/
npmMirror https://skimdb.npmjs.com/registry/
edunpm - http://registry.enpmjs.org/

之后可以利用nrm use 镜像名 设置镜像源

文章目录
  1. 1. 配置npm的全局模块的存放路径以及cache的路径
  2. 2. 设置淘宝镜像
  3. 3. 安装测试一下
    1. 3.1. 展开镜像源