npm モジュールに複数のパブリッシャーがある場合、ファイル システムとプロセスをどのように整理できますか? 共通のリポジトリ (GIT など) が必要ですか、それとも npm 独自の発行および更新プロセスを使用するスマートな方法はありますか?
私が理解できない主な問題は、パッケージの最初の発行者がパッケージ自体から最新バージョンを取得できないことですよね? 彼がそれを別のパッケージへの依存関係としてインストールし、その依存関係内から更新および公開しない限り。
npm モジュールに複数のパブリッシャーがある場合、ファイル システムとプロセスをどのように整理できますか? 共通のリポジトリ (GIT など) が必要ですか、それとも npm 独自の発行および更新プロセスを使用するスマートな方法はありますか?
私が理解できない主な問題は、パッケージの最初の発行者がパッケージ自体から最新バージョンを取得できないことですよね? 彼がそれを別のパッケージへの依存関係としてインストールし、その依存関係内から更新および公開しない限り。
npm をこのように使用することは確かに可能ですが、おそらく意図したものではありません。パッケージの最初の発行者は、たとえば を使用して必要な構造を作成しnpm init
、次に を実行npm publish
して他の発行者が利用できるようにします。
考慮すべき点がいくつかあります。まず、順番に編集するための厳密に制御されたシステムがない限り、ほぼ確実に、複数の発行者が同時に変更を行うマージの競合が発生します。Git のようなバージョン管理システムは、これらの競合の解決に役立ちます。
第 2 に、多くの理由から、中間バージョンを公開したくない場合があります。共同発行者が構築できるように、いくつかの (おそらく不完全な) 変更をプッシュしたい場合があります。または、開発中にコードを公開したくない場合もあります。したがって、このルートをたどる場合は、プライベート リポジトリを検討することをお勧めします。たとえば、Sinopia、またはホストされているソリューションの 1 つです。
それが役立つことを願っています。情報として、mercurial (バージョン管理用) とプライベート npm リポジトリ (sinopia) を組み合わせて使用しています。