「NuGet」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
1行目: 1行目:
'''NuGet'''(読み:にゅーげっと、ぬげっと)とは、[[オープンソース]]な[[ライブラリ]]などのプログラミング素材に特化した[[パッケージ管理システム]]である。かつては[[.NET Framework]]関連専用であったが、現在では[[Visual C++]]などの他のプラットフォームもサポートしている。
+
'''NuGet'''(読み:にゅーげっと、ぬげっと)とは、[[オープンソース]]な[[ライブラリ]]などのプログラミング素材に特化した[[パッケージ管理システム]]である。かつては[[.NET Framework]]関連専用であったが、現在では[[Visual C++]]や[[JavaScript]]などのあらゆるプラットフォームをサポートしている。
  
 
== 発音 ==
 
== 発音 ==
14行目: 14行目:
  
 
== 概要 ==
 
== 概要 ==
NuGetは大雑把に言えば、[[Perl]]の[[CPAN]]や[[Python]]の[[PyPI]]、[[PHP]]の[[PEAR]]、[[Ruby]]の[[RubyGems]]などに相当するものであり、[[.NET]]アプリケーションの開発者が[[オープンソース]]な[[ライブラリ]]を手軽に組み込めるようにするためのパッケージシステムである。
+
NuGetは大雑把に言えば、[[Perl]]の[[CPAN]]や[[Python]]の[[PyPI]]、[[PHP]]の[[PEAR]]、[[Ruby]]の[[RubyGems]]などに相当するものであり、[[.NET]]アプリケーションの[[開発者]]が[[オープンソース]]な[[ライブラリ]]を手軽に組み込めるようにするためのパッケージシステムである。
 +
 
 +
[[NuGet Addin for MonoDevelop and Xamarin Studio]]の登場により[[Mono]]系の各種[[プラットフォーム]]でも大部分のNuGetパッケージを手軽に利用できるようになった。たとえば[[MonoMac]]で[[Twitter]]関連ライブラリを利用するなども一発である。
  
 
== 特徴 ==
 
== 特徴 ==
NuGetがPEARやRubyGemsなどと大きく異なる点としては、PEARやRubyGemsでは導入したライブラリは基本的に共有ライブラリとして展開されるのに対して、NuGetではプロジェクト単位でローカルに展開されるようになっている。そのため、いわゆる[[OS]]の[[root権限]](管理者権限)が無くても利用することができ、またプロジェクトごとに異なるバージョンの同一ライブラリを使うなどといったことも簡単にできるようになっている。
+
NuGetが[[PEAR]]や[[RubyGems]]などと大きく異なる点としては、PEARやRubyGemsでは導入した[[ライブラリ]]は基本的に[[共有ライブラリ]]として展開されるのに対して、NuGetではプロジェクト単位でローカルに展開されるようになっている。そのため、いわゆる[[OS]]の[[root権限]](管理者権限)が無くても利用することができ、またプロジェクトごとに異なるバージョンの同一ライブラリを使うなどといったことも簡単にできるようになっている。
  
 
さらにプロジェクト単位で使用しているパッケージの一覧を「packages.config」というファイル(中身は簡単な[[XML]])に保持しており、この情報をもとに[[ビルド]]時に[[ライブラリ]]が見つからなければ自動的に[[インターネット]]越しに[[ダウンロード]]をおこない[[インストール]]することができる。これにより[[プログラマー]]の手を煩わすことなく開発環境を一発で復元することが可能となっているのも特筆すべき点である。
 
さらにプロジェクト単位で使用しているパッケージの一覧を「packages.config」というファイル(中身は簡単な[[XML]])に保持しており、この情報をもとに[[ビルド]]時に[[ライブラリ]]が見つからなければ自動的に[[インターネット]]越しに[[ダウンロード]]をおこない[[インストール]]することができる。これにより[[プログラマー]]の手を煩わすことなく開発環境を一発で復元することが可能となっているのも特筆すべき点である。

2013年9月7日 (土) 13:40時点における版

NuGet(読み:にゅーげっと、ぬげっと)とは、オープンソースライブラリなどのプログラミング素材に特化したパッケージ管理システムである。かつては.NET Framework関連専用であったが、現在ではVisual C++JavaScriptなどのあらゆるプラットフォームをサポートしている。

発音

英語での発音は「にゅーげっと」や「ぬーげっと」に近いと言われているが、MSDN上での日本語表記は「ぬげっと」である。少なくとも「なげっと」ではないらしい[1]が、細かいことを気にしても仕方がないのでどれでもよい。

荒れたスレにナゲット再び

 〃. ̄. ̄.ヽ
 |: : : |
 | : : :|
  ヽ._._./

概要

NuGetは大雑把に言えば、PerlCPANPythonPyPIPHPPEARRubyRubyGemsなどに相当するものであり、.NETアプリケーションの開発者オープンソースライブラリを手軽に組み込めるようにするためのパッケージシステムである。

NuGet Addin for MonoDevelop and Xamarin Studioの登場によりMono系の各種プラットフォームでも大部分のNuGetパッケージを手軽に利用できるようになった。たとえばMonoMacTwitter関連ライブラリを利用するなども一発である。

特徴

NuGetがPEARRubyGemsなどと大きく異なる点としては、PEARやRubyGemsでは導入したライブラリは基本的に共有ライブラリとして展開されるのに対して、NuGetではプロジェクト単位でローカルに展開されるようになっている。そのため、いわゆるOSroot権限(管理者権限)が無くても利用することができ、またプロジェクトごとに異なるバージョンの同一ライブラリを使うなどといったことも簡単にできるようになっている。

さらにプロジェクト単位で使用しているパッケージの一覧を「packages.config」というファイル(中身は簡単なXML)に保持しており、この情報をもとにビルド時にライブラリが見つからなければ自動的にインターネット越しにダウンロードをおこないインストールすることができる。これによりプログラマーの手を煩わすことなく開発環境を一発で復元することが可能となっているのも特筆すべき点である。

このように本来は.NET向けのパッケージシステムであるが、プロジェクト単位で扱えという利点からか「ASP.NETのための」などという検閲を突破するための前置きを付けたjQueryなどのJavaScriptライブラリをはじめ、アイコン集などの画像素材集や音声素材名目の自作楽曲やらを突っ込む面白外国人が大量に出現してカオスと化している。

なお、NuGet 2.5からは公式にネイティブなC++などの.NET以外のプラットフォームもサポートするようになった。

運営

NuGetプロジェクトは、マイクロソフトが出資する非営利団体であるOuterCurve Foundation内のプロジェクトである。

OuterCurve Foundation.NET FrameworkをはじめWindowsの世界に身を置く人々たちはオープンソースという文化に不慣れであるため、マイクロソフトが主導するかたちで強引にオープンソースの世界に誘うことを目的としているらしく、NuGetもオープンソースを推進するためのものなのでオープンソースではないサードパーティー製のライブラリは冷酷に排除される。

使い方


おすすめNuGet

NuGetギャラリーに掲載されている便利なライブラリを列挙する。

関連項目

参考文献

外部リンク