Подтвердить что ты не робот

"EMALFORMED Не удалось прочитать bower.json" на "bower install requirejs-text"

Когда я пытаюсь установить requirejs-text, я получаю сообщение об ошибке, которое я не понимаю.

$ bower install requirejs-text
bower                       EMALFORMED Failed to read /Users/bgolder/projects/explorer/front/bower.json

Additional error details:
Unexpected string

В bower.json я не вижу ничего плохого.

{
  "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                       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

Что еще не объясняет, что неправильно.

4b9b3361

Ответ 1

В файле JSON есть две синтаксические ошибки. Первой ошибкой было отсутствие , после "bootstrap": "~3.1.1". Вот почему вы получили сообщение об ошибке, которое у вас было. Строка "jquery" на следующей строке не ожидалась. Я нашел эту ошибку, проверив файл на глаз. Загрузка его в JavaScript или редактор JSON также показала бы ее.

Вторая ошибка была запятой после {}. У парсера JavaScript не будет проблем с этим, но парсер JSON делает это. Я предполагаю, что редактор JSON обнаружил бы эту проблему. Я обнаружил это, опираясь на новое сообщение об ошибке, которое я получил, и проб и ошибок.

Здесь фиксированный файл:

{
  "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": {}
}

Ответ 2

[ОБНОВЛЕНИЕ]

Ответ Луи, вероятно, правильный здесь! Я даю ссылку на ссылку, но это, вероятно, неверно для конкретного случая OP.

[НАЧАЛЬНЫЙ ОТВЕТ]

Вы находитесь в окнах, и вы используете текстовый редактор, который добавляет спецификацию к вашему файлу bower.json при его редактировании.

Тогда собеседник жалуется на это, потому что он не может его прочитать (EMALFORMED) - это довольно точно, если не очень полезно о том, что проблема.

Решение: запустите свой файл bower.json с нуля, используя текстовый редактор, который не отсасывает (и не добавляет спецификацию).

Смотрите здесь и здесь, для других людей в одном и том же случае.

(и это не связано с requirejs-text - это ваш файл bower.json, который неверен)

Ответ 3

У меня была аналогичная ошибка для файла .bower.json в моем решении, и по какой-то причине содержимое этого файла было удалено во время автоматического процесса. Я смог удалить файл и вытащить его из исходного элемента управления, что исправило мою проблему.