当创建一个新的Angular 5项目时:
节点版本号:8.9.2
NPM版本:5.5.1
我的命令是:
npm install -g @angular/cli
错误是:
npm ERR! **Unexpected end of JSON input while parsing near '...nt-webpack-plugin":"0'**
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Aashitec\AppData\Roaming\npm-cache\_logs\2017-12-06T13_10_10_729Z-debug.log
错误日志在这里
解决方案:
npm cache clean --force
然后再尝试创建你的应用程序(这里创建一个react应用程序)或安装你要安装的东西。
create-react-app myproject
(创建react应用程序)[在不同的操作中可能出现相同的NPM问题]
npm install -g @angular/cli@latest
(安装angular cli(或安装其他任何东西))
它会起作用的。
解释:
这是一个与npm相关的问题,它是关于缓存被破坏的。即使在npm的新版本中,他们实现了自我修复,这通常保证没有损坏,但似乎效率不高。
强制清理缓存可以解决这个问题。
该错误发生在解析一个缓存文件时,该文件具有json格式。缓存位于~/。npm/ _cache (linux)和%AppData%/npm-cache (windows)。对于我当前的npm版本,当我检查时,有三个目录。
如果你检查第一个或第二个,结构如下
每个缓存文件都有json格式
这里有一个很好的文档链接:https://docs.npmjs.com/cli/cache
[更新]如果这没有解决问题,你可以在这里检查这个答案https://stackoverflow.com/a/50191315/7668448它展示了你如何改变npm注册表,这可能是有帮助的。检查一下。
在解析JSON输入时遇到了意想不到的结束问题。而在我的React应用程序中添加“镭”包。事实上,我甚至在尝试将NPM更新到最新版本时也面临着这个问题。
不管怎样,NPM在清除缓存后无法工作,现在也不会更新到最新版本,但通过Yarn添加包对我来说是有效果的。
所以,如果你急于解决这个问题,但你不能,那么试试yarn,而不是npm。
编码快乐!
更新
在尝试了一些事情后,最后sudo npm缓存清理-force为我工作。
这可能是你的网络或npm注册表中的其他东西的临时故障。
这个错误可能是由许多不同的原因引起的。也许你的全局包以某种方式损坏了,我建议执行以下操作。
1 Install Node Version Manager (or NVM for Windows) and install Node version 10.16.1. This is enough for angular 9 and from my experience, it is the most stable version for development. This should also change your NPM version so that may also help.
2 Uninstall global angular package npm uninstall -g @angular/cli
3 Force clear cache npm cache clean --force
4 You can also try clearing your %temp% and %roaming% AppData/npm-cache
5 install latest angular package npm install -g @angular/cli@<your-version>
6 if this error still occurs, consider using another shell.
源- https://www.codegrepper.com/code-examples/javascript/npm +犯错% 21 +意外+终端+ + JSON +输入+ +分析+在+ % 27时…babel-plugin-istanbul % 27 + npm +犯错% 21 + + +日志+完整的+ + + +可以运行+发现+ % 3 + npm +犯错% 21 + 3 C % % 5 cusers % 5 csapho % 5 cappdata % 5 croaming % 5 cnpm-cache % 5 c_logs % 5 c2020-08-26t20_37_45_303z-debug.log +流产+安装。
每个人都在说
npm cache clean --force
但如果这行不通,那就按照下面的步骤来做。
重新安装npm:重新安装npm有时可以解决与npm本身的冲突和其他问题。要重新安装npm,请执行以下步骤:
Uninstall npm:
npm uninstall -g npm
删除npm缓存文件夹:
npm cache clean --force
安装包支持的新LTS节点。如果节点版本不支持,执行以下命令重新安装npm时可能会收到错误。这是你可能得到的错误类型:
npm犯错!notsup要求:{“节点”:“^ 14.17.0 | | ^ 16.13.0 | | > = 18.0.0 "}
npm犯错!notsup Actual: {"npm":"9.4.0","node":"v16.0.0"}
这样你就可以逃跑了,就像我一样
nvm i 16.13.0
其中“i”是“install”的缩写,和
nvm install 16.13.0
然后重新安装npm:
npm install -g npm
如果上面的方法不管用……您应该尝试下面的步骤
删除node_modules文件夹和package-lock。node_modules文件夹和包锁。Json文件有时会被损坏,导致安装包时出错。要解决这个问题,你可以尝试删除这些文件,然后重新安装你的包:
删除node_modules文件夹:
rm -rf node_modules
删除包锁。json文件:
rm package-lock.json
重新安装软件包:
npm install
ELSE
Use a different version of Node.js: If you are encountering errors while using a specific version of Node.js, you can try switching to a different version to see if the issue is resolved. You can use a version manager such as nvm to manage different versions of Node.js on your system.
Check for malware or virus: If you are still encountering issues, there may be malware or a virus on your system that is interfering with npm. Check your system for malware or viruses and remove any that are found.