首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"EMALFORMED无法读取bower install requirejs text上的bower.json“

"EMALFORMED无法读取bower install requirejs text上的bower.json“
EN

Stack Overflow用户
提问于 2014-04-06 14:22:03
回答 3查看 26.5K关注 0票数 22

当我尝试安装requirejs-text时,我得到了一个我不理解的错误。

代码语言:javascript
复制
$ bower install requirejs-text
bower                       EMALFORMED Failed to read /Users/bgolder/projects/explorer/front/bower.json

Additional error details:
Unexpected string

在bower.json中,我看不出有什么问题。

代码语言:javascript
复制
{
  "name": "front",
  "version": "0.0.0",
  "dependencies": {
    "bootstrap": "~3.1.1"
    "jquery": "~1.10.2",
    "requirejs": "~2.1.9",
    "requirejs-text": "~2.0.10",
    "underscore": "~1.5.2",
    "backbone": "~1.1.0",
    "modernizr": "~2.6.2"
  },
  "devDependencies": {},
}

如果我在bower上使用verbose选项,我会得到这个跟踪。

代码语言:javascript
复制
bower                       EMALFORMED Failed to read /Users/bgolder/projects/explorer/front/bower.json

Additional error details:
Unexpected string

Stack trace:
SyntaxError: Unexpected string
    at Object.parse (native)
    at /usr/local/lib/node_modules/bower/node_modules/bower-json/lib/json.js:41:29
    at fs.js:266:14
    at /usr/local/lib/node_modules/bower/node_modules/graceful-fs/graceful-fs.js:104:5
    at Object.oncomplete (fs.js:107:15)
From previous event:
    at readJson (/usr/local/lib/node_modules/bower/lib/util/readJson.js:17:6)
    at Project._readJson (/usr/local/lib/node_modules/bower/lib/core/Project.js:539:25)
    at Project._analyse (/usr/local/lib/node_modules/bower/lib/core/Project.js:445:14)
    at Project.install (/usr/local/lib/node_modules/bower/lib/core/Project.js:47:17)

Console trace:
Trace
    at StandardRenderer.error (/usr/local/lib/node_modules/bower/lib/renderers/StandardRenderer.js:74:17)
    at Logger.<anonymous> (/usr/local/lib/node_modules/bower/bin/bower:114:22)
    at Logger.EventEmitter.emit (events.js:95:17)
    at Logger.emit (/usr/local/lib/node_modules/bower/node_modules/bower-logger/lib/Logger.js:29:39)
    at /usr/local/lib/node_modules/bower/lib/commands/install.js:35:16
    at _rejected (/usr/local/lib/node_modules/bower/node_modules/q/q.js:797:24)
    at /usr/local/lib/node_modules/bower/node_modules/q/q.js:823:30
    at Promise.when (/usr/local/lib/node_modules/bower/node_modules/q/q.js:1035:31)
    at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/bower/node_modules/q/q.js:741:41)
    at /usr/local/lib/node_modules/bower/node_modules/q/q.js:557:44

System info:
Bower version: 1.3.1
Node version: 0.10.26
OS: Darwin 13.1.0 x64

这仍然不能解释问题出在哪里。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-04-06 18:37:23

在您的JSON文件中有两个语法错误。第一个错误是"bootstrap": "~3.1.1"之后缺少,。这就是您收到错误消息的原因。下一行上的"jquery"字符串不是预期的。我通过查看你的文件发现了这个错误。在JavaScript或JSON编辑器中加载它也会显示它。

第二个错误是{}后面的逗号。JavaScript解析器不会有问题,但是JSON解析器会有问题。我假设一个JSON编辑器已经发现了这个问题。我依靠我得到的新的错误消息和反复试验发现了它。

下面是固定的文件:

代码语言:javascript
复制
{
  "name": "front",
  "version": "0.0.0",
  "dependencies": {
    "bootstrap": "~3.1.1",
    "jquery": "~1.10.2",
    "requirejs": "~2.1.9",
    "requirejs-text": "~2.0.10",
    "underscore": "~1.5.2",
    "backbone": "~1.1.0",
    "modernizr": "~2.6.2"
  },
  "devDependencies": {}
}
票数 31
EN

Stack Overflow用户

发布于 2014-04-06 18:07:22

更新

路易的答案很可能是这里的正确答案!我让我的代码作为参考,但它可能不适用于特定于OP的情况。

初始答案

您在windows上,并且正在使用文本编辑器,该编辑器在编辑bower.json文件时会将物料清单添加到该文件中。

然后,bower抱怨它不能读取它(EMALFORMED) -这是相当准确的,如果不是真正有帮助的问题是什么。

解决方案:从头开始您的bower.json文件,使用不会太糟糕(也不会添加BOM)的文本编辑器。

对于同一案例中的其他人,请参阅herehere

(这与bower.json -text无关--是您的文本文件格式不正确)

票数 12
EN

Stack Overflow用户

发布于 2017-08-31 09:02:21

我的解决方案中的.bower.json文件也有类似的错误,由于某些原因,该文件的内容在自动化过程中被删除了。我能够删除该文件并将其从源代码管理中拉回,这解决了我的问题。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22890694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档