Як оновити bower.json з встановленими пакетами?


129

У своєму проекті я встановив bowerкомпоненти без можливості збереження . Тепер я хотів би оновити доbower.json ?

Як я можу оновити bower.json встановленими пакетами?


2
Відсутність одного крокового способу зробити це здається досить недоліком. Оскільки є команда для видалення, схоже, що запускати bower installбез --saveнеї завжди було б важче і ніколи не легше.
Кріс

1
Якщо у вас немає нічого на своєму bower.json, просто вийміть його та введіть bower initконсоль.
Жан-Люк Барат

Відповіді:


146

Просто перерахуйте свої залежності:

bower list

Тоді слід запустити всю команду встановлення з парамером '--save' так:

bower install bootstrap --save

Це важка робота, але якщо у вас тисяча залежностей, ви можете створити сценарій для автоматизації завдання.


Це чудова відповідь. Дякую!
jessegavin

1
Я вважав, що це стало проблематичним лише для ~ 10 пакетів, оскільки не очевидно, які пакунки завантажувались як залежність інших, що спричинило запрошення bower на номери версій. Навіть при правильних відповідях результат файлу bower.json виявився не зовсім правильним. Я працював з відповіддю Себастьєна, який працював на мене.
gb2d

Залежності, які не оголосили в bower.json, ідентифікуються "стороннім" тегом на консолі.
otaviodecampos

135

Невелика хитрість, якщо ви не хочете писати сценарій для цього:

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

тоді ви можете зробити:

$ bower init

(автоматично створити файл bower.json).

зауважте, що всі питання мають бути попередньо заповнені вашою поточною конфігурацією.

Коли він запитає у вас:

встановити зараз встановлені компоненти як залежності? говорять так,

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


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

2
@landed: це був би реєстр пакетів пакетів ( bower.io/search ) HTH
ДЛЯ

Для мене bower.jsonце не вийшло, оскільки не було в списку angular:'1.5.5'. Це тому, що я angular-animateвстановив, і оскільки це залежить від angular 1.5.5бауера, вирішив не включати angularйого bower.json(враховуючи, що він встановить його все одно, коли хтось зробить це bower installдля цього bower.json). Це буде проблемою , якщо хтось - то видалити angular-animateз bower.jsonв цьому випадку bowerне встановлюватиме angularнадто , так як його немає в списку.
Акаш

35

Трохи важкий спосіб запустити bower list, шукати пакунки, позначені сторонніми, і додавати їх вручну до залежностей у bower.json.

Якщо є багато сторонніх пакетів, це може бути простіше вирішити, запустівши bower initі відповівши Так щоб "встановити встановлені в даний час компоненти як залежності?". Це займе ваш поточний bower.json, прочитає його, а потім створить нове, використовуючи інформацію зі старої. Тож в ідеальному випадку у вас буде той самий файл лише із доданими сторонніми пакетами.

Попередження : По-перше, у процесі може щось втратитися (напрdevDependecies ). По-друге, в останній версії цистерни (v1.2.7) цього не буде збереже інформацію про поточні пакети! Я відчуваю, що це помилка. Однак ви можете зберегти старий файл і (вручну) об'єднати його з створеним.

Крім того, вам слід попросити варіант або щось подібне, відкривши випуск паличок, оскільки це буде вітатися багатьма розробниками.


3
Примітка: bower 1.3.3 зберігає інформацію про поточні пакети.
Білл Келлер

27

Ви можете використовувати 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всьому світі, тому ви можете запустити його з будь-якого місця.

PS для отримання додаткової інформації про npm-check-оновлення прохання див. Цю тему


Можливоbower install
Ámon Tamás

@ ÁmonTamás bower installне оновив bower.json.
Сергій Панфілов

5
Автор оновлення bower-check оновив проект на користь npm-check-updates, що додало підтримку оновлення bower.json.
congusbongus

2

Якщо у вас встановлено не так багато пакетів, які ви встановили, спробуйте написати bower install [package_name] --save. Це лише оновить файл bower.json.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.