21

私は git リポジトリを持っていて、それをプロジェクトの依存関係として設定しようとしています。NPM を使用すると、package.json次のようになります。

"devDependencies": {
  "grunt": "~0.4.0",
  "grunt-contrib-connect": "~0.2.0",
  "grunt-contrib-watch": "~0.3.1",
  "custom":     "git://github.com/myGitHubRepo/repo.js.git#b7d53a0cfbe496ad89bde6f22324219d098dedb3",
  "grunt-contrib-copy": "~0.4.0"
}

初めて

npm install

すべてをインストールし、問題なくリポジトリをフェッチします。しかし、このコミットハッシュを次のように変更すると

"custom":     "git://github.com/myGitHubRepo/repo.js.git#d6da3a0...", // a different one

更新されません!どうすればこの動作を取得できるか教えてもらえますか?

このコードを共有して、ある時点でこのバージョンを変更できるようにしたいだけで、これnpmは自動的に更新されます。

4

3 に答える 3

11

これがその方法です。

私も混乱しました。

だから私は git@github.com:myModule/MySweetModule.git にプライベート npm モジュールを持っています。最新のタグ付きバージョンを公開しました。残念ながら、それがどのように機能するかはわかりませんが、マスターからは機能します。マスターブランチを統合ブランチにすることができ、次のバージョンを構築するためのステージブランチがあります。バージョンが完了したら、それをマスターにマージし、プライベート リポジトリのバージョンを増やします (プライベート リポジトリが 1.0.0 から 1.0.1 になりました)。呼び出すnpm installと、マスターの package.json バージョンが現在の作業リポジトリよりも大きい場合、リポジトリが更新されます。常に最新のレポが必要です。

それはだめみたいだね

同意します。では、もっと良い方法でやってみましょう!tagsプライベート リポジトリ リリースの場合は、次の方法で参照できます。"custom": "git+ssh://git@github.com:usr/proj.git#TAG_NAME"

だから私はというタグ0.1.0を持っているので、package.jsonのURLをそのようにバージョン化します。"custom": "git+ssh://git@github.com:usr/proj.git#0.1.0"

これがあなたの答えへの最良のアプローチだと思います。しかし、私はギタニスタではありません

警告

バージョンを戻そうとすると、機能しないようです。そのため、バージョン0.2.2から0.2.1それまではプロジェクトが更新されません。バージョンをロールバックする場合はnpm remove myProj、必ず実行してください。npm install

于 2013-06-19T15:13:35.463 に答える
2

その特定のパッケージを手動で更新すると、うまくいきました。

それを自動的に行うために、このpostinstallスクリプトをpackage.jsonに追加しました

"scripts": {
 ...
 "postinstall": "npm update custom"
}
于 2021-07-19T09:21:24.720 に答える
0

@Nestoroが示唆するように、パッケージを手動で更新することも私にとってはうまくいきました:

npm update
npm install <your package name>
于 2021-09-28T06:21:49.923 に答える