Fork me on GitHub

"bower.json 中出现语法错误" 的解决方案之一

当你用 Visual Studio 2015 Update 3 打开从别处下载的开源项目的时候,如果发现 Bower 提示 "bower.json 中出现语法错误"

请检查一下.bowerrc文件的编码格式是否为ANSI,如果不是,可以用Notepad++等文本编辑器工具,转换编码格式。

 

事情经过是这样的:

我从Github上pull了一份带有Web的项目,然后在 Visual Studio 2015 Update 3 打开,发现 Bower 提示 "bower.json 中出现语法错误"。

顺着这个错误提示,理所当然地认为是Web项目下的bower.json文件有语法错误。

我打开这个文件,copy了文件内容,到网上找了个json在线校验(www.bejson.com),发现并没有语法错误。

于是,我尝试把bower.json做了个备份(PS:其实是重命名)。

然后对照这个备份文件,打算用Bower重新安装依赖关系。

当我安装jquery的时候,Bower报了一个错误:

PATH=.\node_modules\.bin;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External;%PATH%;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\git
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\Bower.cmd" install jquery#2.2.0 --force-latest --save
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\node_modules\bower-config\lib\util\rc.js:71
        throw error;
        ^
Error: Unable to parse D:\source\xxx\src\xxx.Web\.bowerrc: Unexpected token 
    at parse (C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\node_modules\bower-config\lib\util\rc.js:64:21)
    at C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\node_modules\bower-config\lib\util\rc.js:97:20
    at Array.forEach (native)
    at json (C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\node_modules\bower-config\lib\util\rc.js:89:14)
    at rc (C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\node_modules\bower-config\lib\util\rc.js:34:13)
    at Config.load (C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\node_modules\bower-config\lib\Config.js:16:20)
    at readCachedConfig (C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\node_modules\bower\lib\config.js:15:39)
    at defaultConfig (C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\node_modules\bower\lib\config.js:11:12)
    at Object.<anonymous> (C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\node_modules\bower\lib\index.js:16:32)
    at Module._compile (module.js:397:26)

顺着提示,FQ上Google搜了一下,在这 http://stackoverflow.com/questions/24534974/emalformed-failed-to-read-bower-json-unexpected-token 找到了答案,大体意思就是文件编码格式不对,转换成ANSI编码格式就解决了。

posted @ 2016-12-04 21:00  VAllen  阅读(1452)  评论(0编辑  收藏  举报