62

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

私は何を間違っていますか?

4

4 に答える 4

71

オプション 1: Public Bower 登録

Bower は主に、パブリック (クライアント側) コードを「意見のない」方法で共有するために構築されています。registerしたがって、主な使用例は、名前と git リポジトリの URL を使用して公開されている (GitHub 上の) リポジトリにアクセスすることです。私はこれを自分でやった:

bower register linksoup git://github.com/automatonic/linksoup

これは、bower サーバーにinstall linksoup、リポジトリにあるコードを取得git://github.com/automatonic/linksoupしてローカル プロジェクトのcomponentディレクトリに配置するように指示しているだけです。

これがやりたい場合は、github/etc. にリポジトリをセットアップし、そこにコードをプッシュしてからregister、結果のリポジトリ情報を使用します。

オプション 2: 私的依存

一般にアクセス可能なリポジトリにコードを投稿しない理由はたくさんあります。オープンソースなどではない可能性があります。mypackageコードが公開されることを意図していない場合は、パブリックバウアーサーバーでコードを実行しないでください...さらに、ローカルディレクトリを作成registerできたとしても、registerあなたのマシン...これはbowerを介してコードを共有する目的を無効にします.

bower にローカルのプライベートな依存関係を管理させたいだけの場合は、ブロックヘッドのソリューションを参考にします。

{
  "name": "myproject",
  "version": "1.0.0",
  "dependencies": {
    "jquery": "1.8.0",
    "twitter/bootstrap": "2.1.1",
    "mypackage": "file:///path/to/mypackage/.git"
  }
}

これは、 が必要であり、 git clone を使用して取得するmyproject必要があると言っているだけです。mypackage私の推測では、これは git が理解できるものなら何でも (ローカル リポジトリを含む) 使用できると思います。ただし、ローカル パスにアクセスできないこのコードで作業している他のユーザーにとっては、問題が発生する可能性があることに注意してください。

最良の推測

それがローカル操作であると想定しているように見えますbower register(ある種のローカルレジストリを介して依存関係を見つける方法をbowerに伝えます)。私が知る限り、これはリモートでのパブリック登録にすぎないため、サポートされていません。

また、 npm を使用してリンク操作のようなことを行う方法を探しているかもしれません。つまり、開発サイクルに公開を常に含めることなく、依存関係モジュールで作業します。

関与している人数と、何を達成しようとしているのかについて少し詳しく説明すると、より的を絞った回答が容易になります。

于 2013-01-28T21:40:00.293 に答える
53

次のように任意の git リポジトリを追加できます。

{
  "name": "myproject",
  "version": "1.0.0",
  "dependencies": {
    "jquery": "1.8.0",
    "twitter/bootstrap": "2.1.1",
    "myrepo":"git://myrepo.com/myrepo"
  }
}
于 2012-12-10T18:37:43.160 に答える
24

の大きなアイデアbowerは、プロジェクトの依存関係を簡単に共有することです。したがって、ローカル リポジトリの使用は testing に限定する必要があります

それを理解したらregister、パッケージを依存関係として使用するためにパッケージに厳密に必要ではないことを理解する必要があります。

これは、bower 依存関係がバージョンフォルダー、またはパッケージのいずれかを指定できるためです。したがって、ローカルリポジトリを使用できます

バウアーパッケージとして定義

まず、依存関係を 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 をローカルでテストする

于 2013-11-11T20:02:25.133 に答える