npm install 报错,非常规错误,但具体不详?

查看:124
本文介绍了npm install 报错,非常规错误,但具体不详?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

1.npm install webpack ,报错,不仅仅是webpack一个包,好多都是这种情况,报错原因基本一致。
2.错误代码

D:\myvue>npm install webpack --save
npm ERR! Unexpected end of input at 1:23369
npm ERR! ment":false,"tarball":"http://registry.npm.taobao.org/enhanced-resolv
npm ERR!                                                                      ^

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\admin\AppData\Roaming\npm-cache\_logs\2017-08-24T09_50_21_199Z-debug.log

3.错误日志,截取的错误部分

73 verbose stack SyntaxError: Unexpected end of input at 1:23369
73 verbose stack ment":false,"tarball":"http://registry.npm.taobao.org/enhanced-resolv
73 verbose stack                                                                      ^
73 verbose stack     at Object.parseJSON (D:\SFProgram\nodejs\node_modules\npm\node_modules\pacote\node_modules\make-fetch-happen\node_modules\node-fetch-npm\node_modules\json-parse-helpfulerror\node_modules\jju\lib\parse.js:745:13)
73 verbose stack     at parse (D:\SFProgram\nodejs\node_modules\npm\node_modules\pacote\node_modules\make-fetch-happen\node_modules\node-fetch-npm\node_modules\json-parse-helpfulerror\index.js:10:13)
73 verbose stack     at consumeBody.call.then.buffer (D:\SFProgram\nodejs\node_modules\npm\node_modules\pacote\node_modules\make-fetch-happen\node_modules\node-fetch-npm\src\body.js:96:50)
73 verbose stack     at <anonymous>
73 verbose stack     at process._tickCallback (internal/process/next_tick.js:188:7)
74 verbose cwd D:\myvue
75 verbose Windows_NT 10.0.14393
76 verbose argv "D:\\SFProgram\\nodejs\\node.exe" "D:\\SFProgram\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "webpack" "--save"
77 verbose node v8.4.0
78 verbose npm  v5.3.0
79 error Unexpected end of input at 1:23369
79 error ment":false,"tarball":"http://registry.npm.taobao.org/enhanced-resolv
79 error                                                                      ^
80 verbose exit [ 1, true ]

4.错误分析,通过根据错误日志找到问题原因
这是上面错误日志中提到的index.js文件,我在报错哪里输出了

'use strict';

var jju = require('jju');

function parse(text, reviver) {
    try {
        return JSON.parse(text, reviver);
    } catch (err) {
        // we expect this to throw with a more informative message
         //这里我添加了打印日志
            console.log(text);
           
        jju.parse(text, {
          
            mode: 'json',
            reviver: reviver
        });

        // backup if jju is not as strict as JSON.parse; re-throw error
        // data-dependent code path, I do not know how to cover it
        throw err;
    }
}

exports.parse = parse;

然后再次执行,输出结果如下(截取的最后一点)

"dist":{"shasum":"4a429f76133da8266098e54be820e165d37e5ccf","size":12008,"noattachment":false,"tarball":"http://registry.npm.taobao.org/enhanced-resolv

错误原因找到了,就是因为这个读取的文件不全(也可能不是,但我能找到的就是这里了)。
排除1、读取字符串长度的问题,因为不同的包,报错的时候读取的字符串长度是不一样的
2、node npm 版本问题,重装过,8.+以上版本,还是同样错误

怀疑:电脑某方面配置原因,因为之前没有问题,然后前两天因为cortana的问题删除过某个注册表(好像是,记不清了),具体我也不知道是不是这个问题,只是怀疑

解决方案

taobao npm镜像最好使用https地址: https://registry.npm.taobao.org,防止数据在传输过程中被运营商篡改;

用npm install webpack --save --registry=https://registry.npm.taobao.org安装;
或者在项目的根目录下新建.npmrc文件,内容为:registry=https://registry.npm.taobao.org,然后用
npm install webpack --save安装;

如果上述两种方法没解决问题,那么将C:\Users\用户名\AppData\Roaming\npm-cache目录清空,再安装webpack

这篇关于npm install 报错,非常规错误,但具体不详?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆