当创建一个新的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

错误日志在这里


当前回答

你可以使用yarn包管理器而不是npm。

它为我解决了这个问题

其他回答

你可以设置一个临时文件夹,而不是清除缓存:

npm install --cache /tmp/empty-cache

or

npm install --global --cache /tmp/empty-cache

从npm@5开始,npm缓存会从损坏问题中自我修复,并且从缓存中提取的数据保证是有效的。如果你想确保所有内容都是一致的,可以使用npm缓存验证。另一方面,如果你正在调试安装程序的问题,你可以使用npm install——cache /tmp/empty-cache来使用一个临时缓存,而不是破坏实际的缓存。

以管理员身份打开windows PowerShell或CMD

npm cache clean --force
npm install -g @angular/cli

如果这行不通,试试下面的方法

npm cache clean --force
npm update
npm install -g @angular/cli

在解析JSON输入时遇到了意想不到的结束问题。而在我的React应用程序中添加“镭”包。事实上,我甚至在尝试将NPM更新到最新版本时也面临着这个问题。

不管怎样,NPM在清除缓存后无法工作,现在也不会更新到最新版本,但通过Yarn添加包对我来说是有效果的。

所以,如果你急于解决这个问题,但你不能,那么试试yarn,而不是npm。

编码快乐!

更新

在尝试了一些事情后,最后sudo npm缓存清理-force为我工作。

这可能是你的网络或npm注册表中的其他东西的临时故障。

Npm使用缓存下载新包。 你需要清除你的npm缓存。 使用以下命令进行清洁:

npm cache clean --force

然后通常使用NPM安装命令 如。

npm install -g @angular/cli

我用

首先删除package-lock.json

npm cache clean --force

然后更新NPM

npm i npm@latest -g

然后使用NPM安装命令

npm install