インストールされたパッケージでbower.jsonを更新する方法は?


129

私のプロジェクトでは、保存オプションbowerなしでコンポーネントをインストールしました。今、に更新したいですか?bower.json

インストールされたパッケージでbower.jsonを更新するにはどうすればよいですか?


2
これを行うための1つのステップの方法の欠如は、かなり不足しているように見えます。アンインストールコマンドがあるので、それbower installなしで実行すること--saveは常に難しく、決して簡単ではないようです。
Chris

1
bower.jsonに何もない場合は、削除bower initしてコンソールに入力してください。
Jean-Luc Barat

回答:


146

依存関係をリストするだけです:

bower list

次に、次のようにすべてのインストールコマンドを '--save'パラメータで実行する必要があります。

bower install bootstrap --save

それは大変な作業ですが、1,000の依存関係がある場合、タスクを自動化するスクリプトを作成できますか。


これは素晴らしい答えです。ありがとう!
jessegavin 14

1
他の依存パッケージとしてどのパッケージがダウンロードされたかが明確ではないため、bowerがバージョン番号を要求する原因となったため、これはわずか10個のパッケージで問題になることがわかりました。正解でも、結果のbower.jsonファイルは正しくありませんでした。私は私のために働いたセバスチャンの答えを使用しました。
gb2d 2015年

bower.jsonで宣言されていない依存関係は、コンソールの「外部」タグによって識別されます。
otaviodecampos

135

そのためのスクリプトを作成したくない場合のちょっとしたトリック:

何かする前に、たとえば、bower2.jsonでbower.jsonの名前を変更します。

それからあなたはすることができます:

$ bower init

(bower.jsonファイルを自動的に作成します)。

すべての質問に現在の構成を事前に入力する必要があることに注意してください。

それがあなたに尋ねるとき:

現在インストールされているコンポーネントを依存関係として設定しますか?イエスと言う、

これで、すべての依存関係が新しいbower.jsonファイルにあります(古いbower2.jsonですべてが正しいかどうかを確認できます)


これを行うときに言及するレジストリオプションとは何ですか?私は、このコマンドがローカルなことだけを行うと想定していました。私はその便利な質問で私の秘密を守ることを選びましたが、それが何を意味するのか知りたいです-ある種のインターネット亭レジストリがありますか?これがbowerがnpmインストールのようなことをする方法だと私はただインラインで考えています。
着陸

2
@landed:それは、バウアーパッケージレジストリ(だろうbower.io/search)HTH
FOR

bower.jsonリストに載っていなかったため、これは私にはうまくいきませんでしたangular:'1.5.5'。私がいたからですangular-animateインストールし、それがに依存するためangular 1.5.5亭にはしないことに決めたangularbower.json(誰かがいたときに、それはとにかくそれをインストールします考慮bower installこのためbower.json)。誰か削除場合、これは問題になりますangular-animateからbower.json、その場合はbowerインストールされませんangularその記載されていないので、あまりにも。
Akash

35

少し骨の折れる方法は、を実行しbower list無関係とラベル付けされたパッケージを探し、それらを手動で依存関係に追加することですbower.jsonです。

無関係なパッケージがたくさんある場合は、「現在インストールされているコンポーネントを依存関係として設定しますか?」を実行bower initして[ はい]をクリックすると、これを回避するのが簡単になる場合があります。これにより、現在のbower.jsonが読み取られ、古いの情報を使用して新しいが作成されます。したがって、理想的なケースでは、余分なパッケージを追加しただけで同じファイルができます。

警告:まず、プロセスで何かが失われる可能性があります(例:)devDependecies。次に、bowerの最新バージョン(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-updates pleasの詳細については、このトピックを参照してください


たぶんbower install
–ÁmonTamás2016

@ÁmonTamás bower installはbower.jsonを更新しませんでした。
セルゲイパンフィロフ2016年

5
bower-check-updatesの作成者は、プロジェクトを非推奨にして、bower.jsonの更新のサポートを追加したnpm-check-updatesを採用しました。
congusbongus 2016

2

インストールしたbowerパッケージがそれほど多くない場合は、を作成してみてくださいbower install [package_name] --save。これにより、bower.jsonファイルが更新されます。


0

代わりにbower-check-updates -u実行する必要がある後bower installnpm install

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.