402

When creating a new Angular 5 project:

node version: 8.9.2

npm version: 5.5.1

My Command is:

npm install -g @angular/cli

The Error is:

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

The error log is here

6
  • 46
    "npm cache clean --force" without quotes might be the answer to your question. Commented Dec 17, 2019 at 7:28
  • 11
    Worked for me, said it hoped I knew what I was doing. I did not. Commented May 21, 2020 at 18:11
  • sudo npm cache clean --force sudo npm cache verify sudo npm i npm@latest -g These commands worked for me Commented Jun 19, 2020 at 15:05
  • 1
    @tonix thanks bro, your solution is working for me also, npm ERR! Unexpected end of JSON input while parsing near '...lFicG0K5VKDuUbV0\n4AU' (npm install --save firebase-admin) Commented Oct 26, 2020 at 6:00
  • 2
    It is not working for me, I tried multiple times, if I give cache clean next time I get error like npm ERR! sha512-I4kM.... Commented Dec 11, 2020 at 7:37

38 Answers 38

896

This solved it for me:

Open Windows Powershell as admin

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

https://devblogs.microsoft.com/premier-developer/getting-started-with-node-js-angular-and-visual-studio-code/

Sign up to request clarification or add additional context in comments.

9 Comments

repeatedly running npm cache clean --force and npm install -g @angular/cli@latest solved my issues. running npm cache clean did not help
It worked for me, but not before showing the following warning: "I sure hope you know what you are doing", I do not get why...
That works but when I run it under C:\Users\[user-name]\AppData\Roaming\npm main directory
it works but it just frustrating every npm relate problem pretty much all come down to delete node_modules/ or clean cache
What's super annoying for me is that when you're installing hundreds of packages and one of them is failing it's impossible to tell which one. These npm error logs are less than useless.
|
194

Solution:

npm cache clean --force

then try again to create your app (here when creating a react app) or install what you were about to install.

create-react-app myproject

(creating react app)[same npm problem that can occur in different operation]

npm install -g @angular/cli@latest

(installing angular cli (or installing anything else))

It will work.

explanation:

That's a problem related to npm, it's about the cache that get corrupt. Even though in newer versions of npm they implemented self healing, which normally guarantee no corruption, but it seem it's not that efficient. enter image description here Forcing clean cache resolve the problem.

The error happen when parsing one of the cache files, which have a json format. The cache is found at ~/.npm/_cacache (in linux) and %AppData%/npm-cache (windows). For my current npm version and when i checked, there was three directories.
enter image description here

if you check the first or the second, the structure is as follow enter image description here

And each cache file have a json format (and that what get parsed) enter image description here

Here a good link from the doc: https://docs.npmjs.com/cli/cache

[Update] Also if it happen that this didn't solve it, you may check this answer here https://stackoverflow.com/a/50191315/7668448 it show how you can change the npm registry, that can be helpful. Check and see.

6 Comments

Well explained answer sir thanks a lot I was wondering why this had happening and i suspected that my files got corrupted because of a bad internet connection which caused the cache file to be corrupted since the download wasn't complete could this be true
Yes and an unsure no. Yes that was an issue in the past. As per this issue thread github.com/npm/npm/issues/4652. But they working on it. Now i'm unsure, maybe it is solved. It all depend on the implementation and how npm manage all the steps from fetching to caching to installing. I don't have time to go through npm internal right now. But i'm elaborating around this question, doing some research. I will write an article, and update the answer later when it's done. Know that they may have other reason to the error then a cache corruption,
see docs.npmjs.com/common-errors#invalid-json. For registry problem there is verdaccio that one can try github.com/verdaccio/verdaccio. advised as per those threads github.com/npm/npm/issues/21181, github.com/npm/npm/issues/21112. And here a thread about the cache and how they were moving github.com/npm/npm/issues/4652. Another article which is history now infoworld.com/article/3198746/javascript/…. I let you know when i finish my research and writing an article.
Here an interesting thread: Here an interesting thread github.com/yarnpkg/yarn/issues/393
The issue had bothered me for a while and back with consistent error. Thanks to this post, I deleted the two folders and now things work for me properly! Thanks
|
90

If

npm cache clean --force

doesn't work. try

npm cache clean --force
npm update

3 Comments

As of May 2020, this is the only solution that actually works perfectly as intended for the workflow error
It depends. Npm claims a 'self healing' cache, but as so often, they presume that the user has an impeccable internet connection. Here in the PH this is not the case. I ran npm outdated and then internet dropped. npm clean --force solved it. I can imagine if you were running updates/installs, your solution is needed.
Solved my issue too. In my specific case, it didn't work with sudo, but it worked wonders without it. :)
31

Npm uses Cache for downloading new packages for you. You need to clear your npm cache. use following command to clean :

npm cache clean --force

then normally use your npm install command e.g.

npm install -g @angular/cli

Comments

19

I solve that with

npm cache clean --force

then update npm

npm i npm@latest -g

then normally use your npm install command

npm install 

Comments

14

delete npm and npm-cache folders in C:\Users\admin\AppData\Roaming\ (windows) then execute cmd

npm cache clear --force

npm cache verify

update npm to latest version

npm i -g npm

then create your project 1)Angular

npm i -g @angular/cli@latest

ng new HelloWorld

2)React

npm i -g create-react-app

create-react-app react-app

1 Comment

I cannot execute npm i -g npm, getting error npm ERR! Unexpected end of JSON input while parsing near '...am","fstream-npm","gi'
13

None of the 30 answers here worked for me. I needed to:

  1. delete node_modules and package-lock.json
  2. npm cache clean --force
  3. npm install -g @angular/cli
  4. npm i --package-lock-only
  5. npm ci

Phew!

3 Comments

wow, that was a few hours wasted I'm never getting back. LOL! that did the job, thank you very much 🐲
Deleting package-lock.json fixed the problem for my Vue.js project on Windows!
This solved my issue: npm cache clean --force Thanks a lot
12

this solved it npm cache clean --force

Comments

8

Simple solutions:

npm cache clean --force
npm install 

Comments

6

This command alone solved my problem:

npm cache clean --force

Also you should make sure you are using the correct version of node.

Using nvm to manage the node version:

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;

Comments

6

I use Windows and removed all the files that were listed below and my problem was solved C:\Users{{your-username}}\AppData\Roaming\npm-cache

Comments

6

npm cache clean --force worked for me

Error Resolved :

$ npm install -g gulp npm WARN deprecated [email protected]: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5 npm ERR! Unexpected end of JSON input while parsing near '.../RGs88STtAtiMP3tCiNdU'

npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\admin\AppData\Roaming\npm-cache_logs\2018-11-20T07_38_56_733Z-debug.log

Comments

4

Solution

npm cache clean --force

For Windows : go to C:\Users\username\AppData\Roaming\npm-cache
Delete all files and run

npm install && npm start

Comments

3

I solved that by first cleaning the cache using

npm cache clean --force

Then

npm install -g @angular/cli

Comments

3

My case - Windows 7 (had nothing better at the needed moment). Helped me the following:

  1. Deleting everything from C:\Users\username\AppData\Roaming\npm-cache

AND

  1. Deleting package-lock.json

1 Comment

Deleting package-lock.json fixed the problem for my Vue.js project on Windows!
3

I resolved my problem with this one liner

npm cache clean --force

Note: since its a clean install, I had no concerns emptying npm cache.

Comments

2

ERROR: npm ERR! Unexpected end of JSON input while parsing near '...ore-js":"3.0.0-beta.1

This occurs when installing the expo CLI globally, This works for me!

npm cache clean --force

Comments

2

I got error (file already exists --force to overwrite) after running the following code:

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

I solved it using :

npm i -g --force npm

Make sure to run the first commands to flush the cache of npm.

Comments

1

It's error from your npm....

So unistall node and install it again.

It works....

PS: After installing node again, install angular cli globally.

npm install -g @angular/cli@latest

Comments

1

I solve that with

First delete package-lock.json

npm cache clean --force

then update npm

npm i npm@latest -g

then use npm install command

npm install 

Comments

1

If you looking for npm install and getting same kind of error

Delete package-lock.json and npm cache clean --force and try

Comments

1

In my case I changed the network to a much stronger one and npm install worked perfectly:

npm cache clean --force

Comments

1

If npm cache clean --force doesn't resolve the issue, try deleting the ~/.npm directory (*nix/macOS). This is the directory where node stores its cache, locks, logs, global packages (unless you're using nvm), and modules installed via npx.

First, backup your current ~/.npm directory:

mv ~/.npm ~/.npm-backup

Now try running your npm command again. This will create a new ~/.npm directory. If the issue is resolved, you can safely remove you backup. Before doing so, you may want to review the global packages installed in your ~/.npm-backup directory so you can reinstall them using npm i -g [package].

rm -rf ~/.npm-backup

If the issue is not resolved, you can restore your backup:

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

Careful with those rm commands, folks!

Comments

1

Well everyone is saying

npm cache clean --force

But if that doesn't work then follow these steps.

  1. Reinstall npm: Reinstalling npm can sometimes resolve conflicts and other issues with npm itself. To reinstall npm, follow these steps:

Uninstall npm:

npm uninstall -g npm

Delete the npm cache folder:

npm cache clean --force

Install new LTS node that is supported by the packages. You may receive an error when you run the below to reinstall npm if the node version is not supported. This is the kind of error you could get:

npm ERR! notsup Required: {"node":"^14.17.0 || ^16.13.0 || >=18.0.0"}

npm ERR! notsup Actual: {"npm":"9.4.0","node":"v16.0.0"}

So you could run, like in my case

nvm i 16.13.0

Where 'i' is short for 'install', same as

nvm install 16.13.0

Then Reinstall npm:

npm install -g npm

If the above doesnt work...you should try the next steps

  1. Delete the node_modules folder and package-lock.json file: The node_modules folder and package-lock.json file can sometimes become corrupted, leading to errors when installing packages. To resolve this, you can try deleting these files and then reinstalling your packages:

Delete the node_modules folder:

rm -rf node_modules

Delete the package-lock.json file:

rm package-lock.json

Reinstall your packages:

npm install

ELSE

  1. 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.

  2. 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.

Comments

0

Instead of clearing the cache you can set a temporary folder:

npm install --cache /tmp/empty-cache

or

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

As of npm@5, the npm cache self-heals from corruption issues and data extracted from the cache is guaranteed to be valid. If you want to make sure everything is consistent, use npm cache verify instead. On the other hand, if you're debugging an issue with the installer, you can use npm install --cache /tmp/empty-cache to use a temporary cache instead of nuking the actual one.

Comments

0

For me I had to clone my branch again and do npm install

Comments

0

You can use yarn package manager instead of npm.

It solved this problem for me

Comments

0

I've faced this issue and I tried all the answers on Stackoverflow but not worked for me, finally I found solution for this issue:

  • First of all you have to uninstall nodejs and remove all the files related him
  • Go to "Register Editor" and search for all "nodejs", "node.js" and delete them
  • Restart your computer
  • And reinstall nodejs then install angular.

It's worked for me

Comments

0

These commands worked for me

sudo npm cache clean --force

sudo npm cache verify

sudo npm i npm@latest -g

Comments

0

Try setting

npm config set strict-ssl false

and then try running,

npm install -g @angular/cli

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.