Error installing reactjs: Error unexpected end of JSON input while parsing near

旧时模样 提交于 2020-06-08 19:12:05

问题


I tried installing reactjs via node using two different commands in the terminal using 1) npx create-react-app my-app and 2) npx create-react-app app

But both yielded the same error shown below:

Installing packages. This might take a couple of minutes.

Installing react, react-dom, and react-scripts with cra-template...

npm ERR! Unexpected end of JSON input while parsing near '....1","object-hash":"^1'

npm ERR! A complete log of this run can be found in:

npm ERR! C:\Users\David\AppData\Roaming\npm-cache_logs\2020-02-12T03_53_37_836Z-debug.log

Aborting installation.

npm install --save --save-exact --loglevel error react react-dom react-scripts cra-template has failed.

I tried uninstalling and reinstalling node and also trying to install different older versions of reactjs but still got the same error. Also, I have tried clearing the node cache and then verifying it again via npm cache clear --force and then npm cache verify but still have not had any luck. Any help will be greatly appreciated.

The more detailed log shows this at the bottom:

203 silly saveTree `-- react@16.12.0

204 verbose stack SyntaxError: Unexpected end of JSON input while parsing near '....1","object-hash":"^1'

204 verbose stack at JSON.parse ()

204 verbose stack at parseJson (C:\Program Files\nodejs\node_modules\npm\node_modules\json-parse-better-errors\index.js:7:17)

204 verbose stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node-fetch-npm\src\body.js:96:50

204 verbose stack at processTicksAndRejections (internal/process/task_queues.js:97:5)

205 verbose cwd C:\Users\David\Desktop\React\my-app

206 verbose Windows_NT 10.0.17763

207 verbose argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "install" "--save" "--save-exact" "--loglevel" "error" "react" "react-dom" "react-scripts" "cra-template"

208 verbose node v13.8.0

209 verbose npm v6.13.6

210 error Unexpected end of JSON input while parsing near '....1","object-hash":"^1'

211 verbose exit [ 1, true ]


回答1:


Try running this in your terminal:

npm cache clean --force

And redo the thing you are doing




回答2:


Installing yarn using node package manager fixed the issue for me. Open command prompt and enter:

npm install -g yarn



回答3:


Try cleaning the cache:

npm cache clean --force



回答4:


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

if you check the first or the second, the structure is as follow

And each cache file have a json format (and that what get parsed)

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.



来源:https://stackoverflow.com/questions/60133892/error-installing-reactjs-error-unexpected-end-of-json-input-while-parsing-near

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!