Bowerでローカルgitパッケージを登録するにはどうすればよいですか?
私の現在のcomponent.jsonは次のとおりです
{
"name": "myproject",
"version": "1.0.0",
"dependencies": {
"jquery": "1.8.0",
"Twitter/bootstrap": "2.1.1"
}
}
ただし、C:/mypackage
で作成したパッケージにタグを付けたバージョンのgitリポジトリも追加したいと思います。 bower install --save C:/mypackage
を実行すると、プロジェクトに適切に追加されますが、component.jsonには追加されません。
私はbower register mypackage C:/mypackage
を試みていますが、それは私に与え続けます
bower error Incorrect format
私は何を間違えていますか?
Bowerは、主に「非意見」の方法で公開(クライアント側)コードを共有するために構築されています。したがって、主な使用例は、名前とgitリポジトリのURLを持つregister
dである(GitHub上の)パブリックにアクセス可能なリポジトリを持つことです。私はこれを自分でやった:
bower register linksoup git://github.com/automatonic/linksoup
これは、バウアーサーバーにinstall linksoup
に行き、git://github.com/automatonic/linksoup
リポジトリ、およびローカルプロジェクトのcomponent
ディレクトリに配置します。
これがやりたいことであれば、github/etcにリポジトリを設定し、そこにコードをプッシュしてから、結果のリポジトリ情報でregister
を押してください。
公的にアクセス可能なリポジトリにコードを投稿しない理由はたくさんあります。もしあなたのmypackage
コードが公開されることを意図していなければ、それはオープンソースではないかもしれません。そして、あなたはおそらく公開バウアーサーバー上でそれをregister
ingするべきではありません...ローカルディレクトリにregister
できますが、それはあなたのマシン上でのみ動作します...これは、bower経由でコードを共有する目的に反します。
ローカルのプライベートな依存関係を管理するだけの場合は、 blockhead's ソリューションをリフティングします。
{
"name": "myproject",
"version": "1.0.0",
"dependencies": {
"jquery": "1.8.0",
"Twitter/bootstrap": "2.1.1",
"mypackage": "file:///path/to/mypackage/.git"
}
}
これはmyproject
がmypackage
を必要とし、git cloneを使用してそれを取得することを言っているだけです。私の推測では、これはgitが理解できるもの(ローカルリポジトリを含む)を使用できます。ただし、このコードで作業している他のユーザーがローカルパスにアクセスできない場合、問題が発生する可能性があることに注意してください。
私は、あなたがbower register
はローカル操作でした(ある種のローカルレジストリを介して依存関係を見つける方法を説明する)。私が知る限り、これはリモートおよびパブリック登録のみであるため、これはサポートされていません。
npmでのリンク操作 のような方法を探しているかもしれません。つまり、開発サイクルに常にパブリッシュを含めることなく、依存関係モジュールで作業します。
何人の人々が関与しているか、そしてあなたが何を達成しようとしているかについての少しの詳細は、より的を絞った答えを促進するでしょう。
次のように、任意のgitリポジトリを追加できます。
{
"name": "myproject",
"version": "1.0.0",
"dependencies": {
"jquery": "1.8.0",
"Twitter/bootstrap": "2.1.1",
"myrepo":"git://myrepo.com/myrepo"
}
}
bower link
を使用できます:
リンク機能により、開発者はパッケージを簡単にテストできます。リンクは2段階のプロセスです。
プロジェクトフォルダーで
bower link
を使用すると、グローバルリンクが作成されます。次に、他のパッケージでは、bower link <pkg>
により、以前に作成されたリンクを指すリンクがコンポーネントフォルダーに作成されます。これにより、変更がすぐに反映されるため、パッケージを簡単にテストできます。 bowerはリンクされたパッケージの依存関係を取得しないことに注意してください。
Bowerは、インストール/更新時にリンクを上書きします。
bower
の大きなアイデアは、プロジェクトの依存関係を簡単に共有することです。そのため、ローカルリポジトリの使用はテストに制限する必要があります。
それを理解したら、依存関係として使用するためにパッケージをregister
する必要がないことを厳密に知る必要があります。
これは、亭の依存性がversion、folder、またはのいずれかを指定できるという事実によるものです。パッケージ。したがって、ローカルリポジトリを使用できます。
最初に 依存関係をbowerパッケージとして定義する :が必要です。
# create the bower package
cd /path/to/you-need-me
bower init
# answer questions…
次に、you-need-me
依存関係を必要とするメインプロジェクトで、bower.json
ファイルを編集して追加(または展開)します。
"dependencies": {
…
"you-need-me": "file:///path/to/you-need-me/.git/"
"you-need-me-windows": "C:/path/to/you-need-me-windows/.git/"
}
したがって、バージョンではなくローカルgit
エンドポイント、つまりサブディレクトリ.git/
を指定します。
Manプロジェクトで、次のものを使用してbower依存関係をインストールします。
cd /path/to/main-project/
bower install
bower you-need-me#* ENOTFOUND Package /path/to/you-need-me/ not found
パスをもう一度確認し、依存関係の.git/
ディレクトリを指していることを確認します。
次のようなものが得られるはずです。
bower you-need-me#* not-cached file:///path/to/you-need-me/.git/#*
bower you-need-me#* resolve file:///path/to/you-need-me/.git/#*
bower you-need-me#* checkout master
bower you-need-me#* resolved file:///path/to/you-need-me/.git/#b18c753c6f
bower you-need-me#* install you-need-me#b18c753c6f
それについてのブログエントリを書いてください: パッケージを登録する前にbower.jsonをローカルでテストする 。