如果我的package.json
出现错误,我在运行yarn
时会看到以下内容:
错误发生意外错误:":位于333和#34;的JSON中的意外标记}。
我如何找出这是什么行/列号?
答案 0 :(得分:1)
在Vim中,您可以键入:goto 94
来获得第94个字符,位于位置94的前面。但是,如果文件中包含多字节字符,则这种方法似乎无法正常工作。
答案 1 :(得分:0)
您可以将文本复制/粘贴到jsonlint,或在本地安装:
npm -g install jsonlint
然后查看文件中的位置:
$ jsonlint package.json
Error: Parse error on line 18:
...er": "^2.3.0" }}}
--------------------^
Expecting 'EOF', got '}'
答案 2 :(得分:0)
npm
,您的文件名为package.json
与yarn
不同,npm
会打印出package.json
错误的上下文。
它不像jsonlint
的输出那样简洁,但它不需要额外的包。
将npm install
与--dry-run
一起使用,实际上无法执行任何操作:
$ npm i --dry-run
npm ERR! file /home/ravi/repo/erc20/pet-shop-tut/package.json
npm ERR! code EJSONPARSE
npm ERR! Failed to parse json
npm ERR! Unexpected token '}' at 18:2
npm ERR! }}
npm ERR! ^
npm ERR! File: /home/ravi/repo/erc20/pet-shop-tut/package.json
npm ERR! Failed to parse package.json data.
npm ERR! package.json must be actual JSON, not just JavaScript.
npm ERR!
npm ERR! Tell the package author to fix their package.json file. JSON.parse
npm ERR! A complete log of this run can be found in:
npm ERR! /home/ravi/.cache/npm/_logs/2017-10-20T09_07_12_967Z-debug.log