当创建一个新的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
npm install -g @angular/cli

我用:

npm i -g --force npm

确保运行第一个命令来刷新npm的缓存。

其他回答

这条命令就解决了我的问题:

npm cache clean --force

此外,您还应该确保使用了正确的节点版本。

使用nvm管理节点版本:

nvm list; # check your local versions;
nvm install 10.10.0; # install a new remote version;
nvm alias default 10.10.0; # set the 10.10.0 as the default node version, but you have to restart the terminal to make it take effect;

If

npm cache clean --force

是行不通的。 试一试

npm cache clean --force
npm update

如果npm cache clean——force不能解决这个问题,试着删除~/。npm目录(*nix/macOS)。这个目录存放node的缓存、锁、日志、全局包(除非你使用nvm)和通过npx安装的模块。

首先,备份当前的~/。npm目录:

mv ~/.npm ~/.npm-backup

现在再次尝试运行你的npm命令。这将创建一个新的~/。npm目录。如果问题已解决,您可以安全地删除备份。在这样做之前,您可能需要检查安装在~/中的全局包。所以你可以使用NPM I -g [package]重新安装它们。

rm -rf ~/.npm-backup

如果问题没有解决,您可以恢复备份:

rm -rf ~/.npm
mv ~/.npm-backup ~/.npm

小心那些rm命令,伙计们!

如果你找npm install,得到同样的错误

删除package-lock。Json和NPM缓存清理——强制和尝试

由于缓存或节点包管理器的过时版本,会发生这种情况 我刚刚更新了我的NPM,它工作得很好 下面是更新Npm到最新版本的命令

npm i npm@latest -g

更新NPM后运行你想要的命令