Как обновить bower.json с установленными пакетами?

В моем проекте я установил bower компонентов без опции сохранения. Теперь я хочу обновить до bower.json?

Как я могу обновить bower.json с установленными пакетами?


person kongaraju    schedule 29.11.2013    source источник
comment
Отсутствие одношагового способа сделать это кажется серьезным недостатком. Поскольку есть команда удаления, похоже, что запуск bower install без --save всегда будет сложнее и никогда не будет проще.   -  person Chris    schedule 04.07.2014
comment
Если в вашем bower.json ничего нет, просто удалите его и введите bower init в консоли.   -  person Jean-Luc Barat    schedule 06.04.2017


Ответы (6)


Просто укажите свои зависимости:

bower list

Затем вы должны запустить всю команду установки с параметром '--save' следующим образом:

bower install bootstrap --save

Это тяжелая работа, но если у вас есть тысяча зависимостей, не могли бы вы создать сценарий для автоматизации задачи.

person Helder Robalo    schedule 27.01.2014
comment
Это отличный ответ. Спасибо! - person jessegavin; 07.02.2014
comment
Я обнаружил, что это проблематично всего с ~ 10 пакетами, так как не очевидно, какие пакеты были загружены как зависимости от других, из-за чего bower запрашивала номера версий. Даже при правильных ответах полученный файл bower.json был не совсем правильным. Я работал с ответом Себастьяна, который сработал для меня. - person gb2d; 02.11.2015
comment
Зависимости, которые не были объявлены в bower.json, идентифицируются посторонним тегом на консоли. - person otaviodecampos; 18.01.2018

Небольшая хитрость, если вы не хотите писать для этого скрипт:

прежде чем что-либо делать, переименуйте, например, ваш bower.json в bower2.json.

тогда вы можете сделать:

$ bower init

(автоматически создать файл bower.json).

обратите внимание, что все вопросы должны быть предварительно заполнены вашей текущей конфигурацией.

Когда он спросит вас:

установить в настоящее время установленные компоненты как зависимости? скажи да,

Теперь у вас есть все ваши зависимости в новом файле bower.json (и вы можете проверить, все ли в порядке со старым bower2.json)

person Sebastien Horin    schedule 27.10.2014
comment
Что это за параметр реестра, который он упоминает при этом - я предполагал, что эта команда будет делать только локальную вещь. Я решил сохранить конфиденциальность с помощью этого удобного вопроса, но хотел бы узнать, что это значит - есть ли какой-то реестр интернет-беседок. Я просто думаю, что именно так bower может делать что-то вроде установки npm. - person landed; 11.05.2015
comment
@landed: это будет реестр пакетов bower (bower.io/search) HTH - person FOR; 15.12.2015
comment
У меня это не сработало, потому что bower.json не перечислил angular:'1.5.5'. Это потому, что у меня был установлен angular-animate, и поскольку это зависит от angular 1.5.5 bower, я решил не включать angular в bower.json (учитывая, что он все равно установит его, когда кто-то сделает bower install для этого bower.json). Это будет проблемой, если кто-то удалит angular-animate из bower.json, и в этом случае bower также не установит angular, поскольку его нет в списке. - person Aakash; 25.04.2016

Немного сложный способ - запустить bower list, найти пакеты с пометкой посторонние и вручную добавить их к зависимостям в bower.json.

Если имеется много посторонних пакетов, возможно, будет проще решить эту проблему, запустив bower init и ответив Да, чтобы «установить в настоящее время установленные компоненты как зависимости?». Это возьмет ваш текущий bower.json, прочитает его, а затем создаст новый, используя информацию из старого. Так что в идеальном случае у вас будет тот же файл, только с добавленными посторонними пакетами.

Предупреждение. Во-первых, что-то может быть потеряно в процессе (например, devDependecies). Во-вторых, в последней версии bower (v1.2.7) это не сохранит информацию о текущих пакетах! Я чувствую, что это ошибка. Однако вы можете сохранить старый файл и (вручную) объединить его со сгенерированным.

Кроме того, вы должны попросить вариант или что-то еще, открыв проблему с беседкой, поскольку это будет приветствоваться многие разработчики.

person Robin Pokorny    schedule 01.12.2013
comment
Примечание: bower 1.3.3 сохраняет информацию о текущих пакетах. - person Bill Keller; 16.05.2014

Вы можете использовать bower-check-updates (на вашем компьютере должен быть установлен node.js ):

bower-check-updates - это утилита, которая автоматически настраивает bower.json с учетом последней версии всех зависимостей.

bower-check-updates - это форк npm-check-updates, поэтому он все то же самое, но обновляет bower.json, а не package.json

npm install -g bower-check-updates
bower-check-updates -u
bower install 

Это установит bower-check-updates глобально, так что вы сможете запускать его откуда угодно.

P.S. для получения дополнительной информации о просьбах о npm-check-updates см. эту тему

person Sergei Panfilov    schedule 11.06.2015
comment
Может быть bower install - person Ámon Tamás; 19.01.2016
comment
@ ÁmonTamás bower install не обновлял bower.json. - person Sergei Panfilov; 20.01.2016
comment
Автор bower-check-updates отказался от проекта в пользу npm-check-updates, в которой добавлена ​​поддержка обновления bower.json. - person congusbongus; 16.02.2016

Если у вас не так много пакетов bower, попробуйте написать bower install [package_name] --save. Это просто обновит ваш файл bower.json.

person superjisan    schedule 27.08.2015

После bower-check-updates -u вы должны запустить bower install вместо npm install

person Ámon Tamás    schedule 21.01.2016