安装reactjs时出错:解析附近时JSON输入意外结束

Posted

技术标签:

【中文标题】安装reactjs时出错:解析附近时JSON输入意外结束【英文标题】:Error installing reactjs: Error unexpected end of JSON input while parsing near 【发布时间】:2020-05-24 19:07:37 【问题描述】:

我尝试使用 1) npx create-react-app my-app 和 2) npx create-react-app app 在终端中使用两个不同的命令通过节点安装 reactjs

但两者都产生了如下所示的相同错误:

安装包。这可能需要几分钟。

使用 cra-template 安装 react、react-dom 和 react-scripts...

npm 错误!解析时 JSON 输入意外结束 '....1","对象哈希":"^1'

npm 错误!可以在以下位置找到此运行的完整日志:

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

中止安装。

npm install --save --save-exact --loglevel 错误反应 react-dom react-scripts cra-template 失败了。

我尝试卸载并重新安装 node 并尝试安装不同的旧版本 reactjs,但仍然遇到相同的错误。另外,我尝试清除节点缓存,然后通过npm cache clear --forcenpm cache verify 再次验证它,但仍然没有运气。任何帮助将不胜感激。

更详细的日志显示在底部:

203 愚蠢的 saveTree `-- react@16.12.0

204 详细堆栈语法错误:JSON 输入意外结束,而 在 '....1","object-hash":"^1'

附近解析

JSON.parse() 处的 204 个详细堆栈

parseJson 的 204 详细堆栈 (C:\Program 文件\nodejs\node_modules\npm\node_modules\json-parse-better-errors\index.js:7:17)

204 详细堆栈位于 C:\Program 文件\nodejs\node_modules\npm\node_modules\node-fetch-npm\src\body.js:96:50

processTicksAndRejections 处的 204 个详细堆栈 (内部/进程/task_queues.js:97:5)

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

206 个详细的 Windows_NT 10.0.17763

207 详细 argv "C:\Program Files\nodejs\node.exe" "C:\Program 文件\nodejs\node_modules\npm\bin\npm-cli.js" "安装" "--save" “--save-exact” “--loglevel” “错误” “react” “react-dom” “反应脚本” “cra模板”

208 详细节点 v13.8.0

209 详细的 npm v6.13.6

210 错误在附近解析时 JSON 输入意外结束 '....1","object-hash":"^1'

211 详细退出 [1, true]

【问题讨论】:

请尝试更新你的nodejs,然后重新开始。 我尝试更新 nodejs 但仍然得到同样的错误。 【参考方案1】:

尝试在终端中运行它:

npm cache clean --force

然后重做你正在做的事情

【讨论】:

不敢相信我在找到这个之前花了几个小时与 npm 战斗。我实际上认为我的项目有问题。 是的,我花了 2 天时间弄清楚这个 天哪。就在我们都认为rm -rf node_modules && npm i 足够好的时候......【参考方案2】:

使用节点包管理器安装纱线为我解决了这个问题。打开命令提示符并输入:

npm install -g yarn

【讨论】:

太棒了!我完全忘记了纱线,并在 npm 上浪费了我的一天。 是的,它使用 yarn ,npm 有很多问题【参考方案3】:

解决办法:

npm cache clean --force

然后再次尝试创建您的应用(在此处创建 React 应用时)或安装您将要安装的内容。

create-react-app myproject

(creating react app)[相同的npm问题,不同的操作可能会出现]

npm install -g @angular/cli@latest

(安装 Angular cli(或安装其他任何东西))

它会起作用的。

解释:

这是一个与 npm 相关的问题,它与损坏的缓存有关。即使在较新版本的 npm 中,他们实现了自我修复,通常可以保证没有损坏,但似乎效率不高。 强制清理缓存解决问题。

在解析其中一个 json 格式的缓存文件时发生错误。缓存位于 ~/.npm/_cacache(在 linux 中)和 %AppData%/npm-cache(在 Windows 中)。对于我当前的 npm 版本,当我检查时,有三个目录。

如果你检查第一个或第二个,结构如下

并且每个缓存文件都有一个 json 格式(以及被解析的内容)

这里有一个很好的文档链接:https://docs.npmjs.com/cli/cache

[更新] 另外,如果碰巧这没有解决它,你可以在这里查看这个答案https://***.com/a/50191315/7668448 它显示了如何更改 npm 注册表,这可能会有所帮助。检查并查看。

【讨论】:

【参考方案4】:

我有同样的问题,但是 npm cache clean --force 对我不起作用。

我所做的是 清理我的电脑

现在使用我的清洁器(CCleaner)和 npm install 工作。我这样做是因为在我卸载我的 node.js 后出现问题,因为我想在我的 PC 上安装 nvm-windows (https://docs.microsoft.com/en-us/windows/nodejs/setup-on-windows),但是在我这样做之后,我认为一些文件和文件夹在我之后留下了冲突使用 nvm 安装节点,因此 npm install 不起作用。所以我认为清洁我的电脑可以解决问题,它确实做到了。

这些只是我的想法。希望对某人有所帮助。

【讨论】:

你能用 yarn 代替 npm【参考方案5】:

使用以下方法解决问题:

npm 缓存清理 --force :/

【讨论】:

【参考方案6】:

sudo npm install -g create-react-app 为我工作

【讨论】:

这应该在评论区。 @ShubhamBaranwal 不一定。即使很短,它仍然可以回答问题。 同意你的看法。 @DonaldDuck【参考方案7】:

这是由于 Yarn 中的硬缓存造成的。我通过删除 node_modules 文件夹并再次运行解决了这个问题

yarn install 

它生成了一个新的 node_modules 文件夹,问题已解决。

【讨论】:

以上是关于安装reactjs时出错:解析附近时JSON输入意外结束的主要内容,如果未能解决你的问题,请参考以下文章

“在附近解析时 JSON 输入意外结束”错误:npm install -g@angular/cli

构建管道中的 NPM“解析附近时 JSON 输入意外结束”

创建反应应用程序:npm 错误!在“....”附近解析时 JSON 输入意外结束

npm-解析'... serify'附近的JSON输入意外结束:“最新”,“cha”

在 ReactJS 应用程序中将字符串转换为 JSON 对象时出错

解析 JSON 时出错:输入中有多个文档(Redshift 到 Snowflake SQL)