.NET パッケージ管理の現在のオファリングは何ですか。どちらを使用しており、長所と短所は何ですか?
今日のいくつかの例は次のとおりです。
誤解を避けるために、gem
、apt-get
、などのパッケージ管理システムについて言及していますdpkg
。
NuGet (以前の NuPack) は、無料のオープン ソース開発者向けの .NET パッケージ管理システムです。
最近ほとんど死んでいるもう 1 つのパッケージ マネージャーはHornです。開発は今はほとんど止まっていますが、面白いプロジェクトだと思います。
gentoo Portage の ebuildと同様に、純粋にバイナリ パッケージに依存するのではなく、最初にソース コードからコンパイルすることに基づいて、パッケージ管理に興味深いアプローチを取りました。これにより、開発者はライブラリのバージョンを自由に組み合わせて一致させることができます (プロジェクトの管理者が依存関係を公式に更新するのを待つのではなく)。彼がコンパイルしたスタックが機能すること。
もちろん、トランクからすべてを構築する代わりに、記述子の依存関係バージョンを修正することもできます (たとえば、Castle Windsor のトランクには 1 つの記述子があり、 Windsor 2.1には別の記述子があります)。
すべてをソースからビルドしたくない場合 (当然、プロセスが非常に遅くなります) には、継続的インテグレーション サーバーとして機能し、バイナリ パッケージを提供するサーバーが hornget.net にありました。
マシン向けのパッケージ管理システムに言及したので、apt-get に似ていますが Windows 用の Chocolateyについて言及したいと思います。
参考までに: 私は Nu/NuGet の連中の 1 人で、NuGet に切り替えたときに Ruby Gems から出てくるとは思わなかったチョコレートを発明しました (これは実行可能なタイプの gem でした。NuGet は実際にはライブラリとソース コード用ではなく、ライブラリとソース コード用です)。ソースの反対側から出てくる製品/ツール/アプリ)。それ以来、chocolatey は PowerShell の実行をサポートするように成長し、Windows 上でほぼすべてのことを実行できるようになりました。