Come aggiornare bower.json con i pacchetti installati?


129

Nel mio progetto ho installato bowercomponenti senza opzione di salvataggio . Ora, vorrei aggiornare a bower.json?

Come posso aggiornare bower.json con i pacchetti installati?


2
La mancanza di un modo unico per farlo sembra una carenza. Dal momento che esiste un comando di disinstallazione, sembra che eseguire bower installsenza --savesarebbe sempre più difficile e mai più facile.
Chris,

1
Se non hai nulla in bower.json, rimuovilo e digita bower initla console.
Jean-Luc Barat,

Risposte:


146

Elenca le tue dipendenze:

bower list

Quindi dovresti eseguire tutti i comandi di installazione con param '--save' in questo modo:

bower install bootstrap --save

È un lavoro duro, ma se hai mille dipendenze, potresti creare uno script per automatizzare l'attività.


Questa è un'ottima risposta Grazie!
jessegavin,

1
Ho scoperto che questo è diventato problematico con solo ~ 10 pacchetti, poiché non è ovvio quali pacchetti siano stati scaricati come dipendenze di altri, il che ha causato a Bower la richiesta dei numeri di versione. Anche con le risposte corrette, il file bower.json risultante non era del tutto corretto. Ho lavorato con la risposta di Sebastien, che ha funzionato per me.
gb2d,

Le dipendenze che non sono state dichiarate in bower.json sono identificate dal tag "estraneo" sulla console.
otaviodecampos,

135

Un piccolo trucco se non vuoi scrivere una sceneggiatura per questo:

prima di fare qualsiasi cosa, rinominare bower.json in bower2.json per esempio.

allora puoi fare un:

$ bower init

(crea automaticamente un file bower.json).

nota che tutte le domande dovrebbero essere precompilate con la tua attuale configurazione.

Quando ti chiederà:

impostare i componenti attualmente installati come dipendenze? dì di si,

Ora hai tutte le dipendenze nel nuovo file bower.json (e puoi verificare se tutto è a posto con il vecchio bower2.json)


Qual è l'opzione di registro che menziona quando si fa questo - Avevo supposto che questo comando avrebbe fatto solo una cosa locale. Ho scelto di mantenere il mio privato con quella pratica domanda, ma vorrei sapere cosa significava: esiste una specie di registro di Internet Bower. Sto solo pensando che è così che Bower potrebbe fare una specie di installazione di npm.
sbarcò

2
@landed: quello sarebbe il registro dei pacchetti di bower ( bower.io/search ) HTH
FOR

Questo non ha funzionato per me perché bower.jsonnon elencato angular:'1.5.5'. Questo perché avevo angular-animateinstallato e poiché dipende dal angular 1.5.5pergolato ho deciso di non includerlo angularnel bower.json(considerando che lo installerà comunque quando qualcuno lo fa bower installper questo bower.json). Questo sarà un problema se qualcuno rimuove angular-animateda bower.jsonin tal caso bowernon verrà installato angularanche dal momento che non è elencato.
Akash,

35

Un modo un po 'arduo è quello di eseguire bower list, cercare pacchetti etichettati estranei e aggiungerli manualmente alle dipendenze nel file bower.json.

Se ci sono molti pacchetti estranei , potrebbe essere più semplice risolvere il problema eseguendo bower inite rispondendo a per "impostare i componenti attualmente installati come dipendenze?". Questo prenderà la tua corrente bower.json, la leggerà e poi ne creerà una nuova usando le informazioni di quella precedente. Quindi, nel caso ideale, avrai lo stesso file solo con l' aggiunta di pacchetti estranei .

Avvertenza : in primo luogo, potrebbe esserci qualcosa perso nel processo (ad es devDependecies.). In secondo luogo nell'ultima versione di bower (v1.2.7) questo non manterrà le informazioni sui pacchetti correnti! Sento che è un bug. Tuttavia è possibile salvare il vecchio file e unirlo (manualmente) con quello generato.

Inoltre, dovresti chiedere un'opzione o qualcosa aprendo un problema di pergolato poiché questo sarebbe accolto da molti sviluppatori.


3
Nota: bower 1.3.3 conserva le informazioni sui pacchetti correnti.
Bill Keller,

27

Puoi usare bower-check-updates (hai bisogno di node.js installato sul tuo computer):

bower-check-updates è un'utilità che regola automaticamente un bower.json con l'ultima versione di tutte le dipendenze

bower-check-updates - è un fork di npm-check-updates , quindi è tutto uguale ma aggiornamenti bower.json, invece dipackage.json

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

Questo verrà installato a bower-check-updateslivello globale, quindi puoi avviarlo da qualsiasi luogo.

PS per ulteriori informazioni sui motivi di npm-check-updates vedere questo argomento


Forsebower install
Ámon Tamás il

@ ÁmonTamás bower installnon ha aggiornato bower.json.
Sergei Panfilov,

5
L'autore di bower-check-updates ha deprecato il progetto a favore di npm-check-updates, che ha aggiunto il supporto per l'aggiornamento di bower.json.
congusbongus,

2

Se non ci sono molti pacchetti di pergolato che hai installato, prova a scrivere bower install [package_name] --save. Questo aggiornerà semplicemente il tuo file bower.json.


0

Dopo bower-check-updates -udevi eseguire bower installinvece dinpm install

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.