web-dev-qa-db-ja.com

bowerがパッケージをビルドする方法を教えてください。

GitHubからクローンを作成した後、Bowerにパッケージグラントを実行させる方法はありますか?

Bowerを使用しようとしていますが、使用しているパッケージの1つはBootstrap extension、x-editableです。問題は、他のパッケージが完全にビルドされたバージョンをgithubにpushするときにBowerによってインストールされたx-editableのビルドバージョンがあり、パッケージをビルドするためにgruntファイルを実行することを期待しています。

これは、npmなどの他のパッケージマネージャーでは一般的な方法ですが、インストール時にBowerでビルドする方法を見つけることができました。つまり、パッケージのインストールを完了するには別のメカニズムが必要です。

24
Guy Korland

インストール時のビルドはアンチパターンであり、Nodeでの使用は強く推奨されません。 Nodeと同様に、Bowerパッケージも事前にビルドしておく必要があります。これは、エンドユーザーがパッケージに必要なプリプロセッサまたはビルドシステムを気にする必要がないためです。

最良のオプションは、作成者に事前ビルド、フォークして自分で行うように説得するか、コンポーネントのインストール後に手動でビルドすることです。

Bowerチームは、npmでの動作と同様に、パッケージをサーバーに公開する機能を追加する予定です。これは、ビルドステップを必要とするパッケージにとって、より良いものになります。

23
Sindre Sorhus

バウアーには3つのフックがあり、@ Sindre Sorhusが指摘するように事前ビルドできない何らかの理由でpostinstallが問題を解決する場合があります。

.bowerrcで次のようにします。

{
    "scripts": {
        "preinstall": "<your command here>",
        "postinstall": "<your command here>",
        "preuninstall": "<your command here>"
    }
}

ソース https://github.com/bower/bower/blob/master/HOOKS.md

4
schurpf