npm install 报错,非常规错误,但具体不详?
本文介绍了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屋!
查看全文