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

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

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

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

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


person Yang    schedule 07.06.2013    source источник
comment
Билет: github.com/bower/bower/issues/540   -  person Sindre Sorhus    schedule 20.06.2013
comment
у вас будет 2 проекта, поэтому один получит одну версию jQ, а другой - другую версию, поэтому я думаю, что вам нужно больше деталей в вашем вопросе.   -  person landed    schedule 02.03.2014
comment
Нашли ли вы решение этой проблемы, так как у меня точно такая же ситуация, и решение neilhem не работает для меня (т.е. оно не имеет никакого значения)?   -  person Hans    schedule 10.01.2015
comment
Возможно, вам следует принять ответ Нейлхема?   -  person Rémi Becheras    schedule 10.12.2015
comment
моя работа запущена bower install jQuery#2.1.4 --save   -  person zx1986    schedule 08.09.2016


Ответы (2)


Вы можете добавить 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 сохранил ваш выбор в файле bower.json.

person Rakhat    schedule 18.06.2014
comment
Это решение не работает для меня. Кажется, это не имеет значения. Требуется ли для этого определенная версия Bower, а моя оказывается слишком старой (она установлена ​​​​из npm, так что какой бы ни была эта версия). - person Hans; 10.01.2015
comment
@Hans пытается обновить запущенный Bower: npm update -g bower - person Rakhat; 12.01.2015
comment
Отличный ответ. Это должно быть помечено как правильное. Ставлю! перед выбором было очень полезно. - person Michael Cole; 25.03.2015
comment
Чтобы добавить к ответу @neilhem: установка Bower не будет запрашивать подходящую версию, если интерактивный режим отключен. дополнительная информация - person Shibbir Ahmed; 23.11.2015
comment
Что-нибудь подобное для npm (package.json)? - person Alon Amir; 05.04.2016
comment
@AlonAmir npm использует вложенное дерево зависимостей. Подробнее здесь stackoverflow. com/questions/18641899/ - person Rakhat; 05.04.2016
comment
Вы также можете сохранить свое разрешение, набрав выбранную цифру +!, например: 2! - person felipekm; 01.12.2016

используйте 1_

введите здесь описание ссылки

person posix99    schedule 24.12.2018