Как разрешить конфликты версий зависимостей Bower?

У меня есть проект, который зависит от обоих:

  • jquery ~ 1.9.1
  • другой проект, который, в свою очередь, зависит от jquery >= 1.7.2

Но когда я запускаю bower install, он заканчивает установку jquery 2.0.2. Это кажется сломанным.

Как мне (а) правильно решить проблемы или (b) явно принудительно установить окончательную версию (обходной путь)?

Ответ 1

Вы можете добавить resolutions к объекту в вашем файле bower.json и указать имя и версию компонента, чтобы автоматически разрешить конфликт при выполнении команд bower. Вот так:

{
  "name": "project-x",
  "private": true,
  "dependencies": {
    "bootstrap-sass": "~3.3.7",
    "modernizr": "~2.8.3",
    "jquery": "~1.11.3"
  },
  "devDependencies": {},
  "resolutions": {
    "jquery": "~1.11.3"
  }
}

Также вы можете запустить bower install, и когда собеседник попросит "подходящую версию" (если включен интерактивный режим), выбор префикса с помощью !, поэтому bower сохранит ваш выбор в файле bower.json.