关于node.js:“EMALFORMED无法读取bower.json”“意外令牌/”

“EMALFORMED Failed to read bower.json” “unexpected token /”

我不太明白Stack的意思,我正试着用Bower拉一些组件。

我有.bowerrc文件,它提供了安装路径。

1
2
3
4
//.bowerrc
 {
   "directory":"public/libs"
 }

我有bower.json文件,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
// bower.json
{
   "name":"starter-node-angular",
   "version":"1.0.0",
   "dependencies": {
       "bootstrap":"latest",
       "font-awesome":"latest",
       "animate.css":"latest",
       "angular":"latest",
       "angular-route":"latest"  
    }
}

当我安装Bower时,我没有问题,甚至Bower搜索也工作得很完美。当我运行命令时:

1
bower install

我收到以下信息:

1
2
3
Failed to read + path\bower.json

Unexpected token /

当我尝试时,也会收到同样的信息:

1
bower install jquery

我尝试更改文件的编码,并使用JSON在线验证工具。

有什么想法吗??


另一种解决方案是用记事本+打开文件,转到"编码"并选择"转换为ANSI"。

祝你好运


创建.bowerrc文件后:

  • 在Visual Studio中打开文件
  • 单击"文件"菜单下的"文件另存为"
  • 单击"保存"按钮右侧的向下箭头标记
  • 选择"用编码保存"
  • 同意替换文件
  • 将编码类型更改为"西欧(Windows)-代码页1252",并将行尾保留为"当前设置"
  • 点击保存按钮


我遇到这个问题是因为Visual Studio在文件的开头添加了一个物料清单。在notepad++中打开它,进入编码并选择"不带bom的utf-8编码"解决了这个问题——这种方法相对于将文件转换为ansi的优势在于,您仍然可以在bower.json文件中使用unicode字符。

显然,您也可以在任何其他支持从以UTF-8编码的文件中剥离BOM的文本编辑器中执行此操作。


这可能是因为鲍尔文件中只有一行注释。JSON中不允许使用//…/*…*/形式的注释。因此,如果在bower文件的开头(如提供的示例中)确实有// bower.json行,则会出现此错误。


很好的一天,

对我有效的方法是卸载包,在本例中是引导,然后只包括我希望在Visual Studio的项目中使用的引导版本。屏幕截图见下文。然后我救了他,鲍尔施展了魔法!!!!

鲍尔森


我也有一个非常烦人的问题。对我有用的是,我只需在Visual Studio 2017中打开bower.json文件,然后使用ctrl+s再次保存该文件,就这样!我现在可以第一次通过鲍尔安装软件包了!


最后,我得到了一点帮助!!现在我要为其他人编写解决方案。我把bower.json的内容从web复制到sublime3文本编辑器中。编辑添加了我看不见的字符。复制粘贴到旧的经典记事本和替换文件解决了它为我。