「NuGet」の版間の差分
imported>Administrator 細 |
(→運営) |
||
(9人の利用者による、間の34版が非表示) | |||
1行目: | 1行目: | ||
− | '''NuGet''' | + | '''NuGet'''(読み:にゅーげっと、ぬげっと)とは、[[オープンソース]]な[[ライブラリ]]などのプログラミング素材に特化した[[パッケージ管理システム]]である。かつては[[.NET Framework]]関連専用であったが、現在では[[Visual C++]]や[[JavaScript]]などのあらゆるプラットフォームをサポートしている。 |
− | + | == 発音 == | |
+ | 英語での発音は「にゅーげっと」や「ぬーげっと」に近いと言われているが、[[MSDN]]上での日本語表記は「ぬげっと」である。少なくとも「なげっと」ではないらしい<ref>http://blogs.msdn.com/b/hirosho/archive/2011/11/09/whatsnugetandtryusethat.aspx</ref>が、細かいことを気にしても仕方がないのでどれでもよい。 | ||
+ | |||
+ | <aa> | ||
+ | 荒れたスレにナゲット再び | ||
+ | |||
+ | 〃. ̄. ̄.ヽ | ||
+ | |: : : | | ||
+ | | : : :| | ||
+ | ヽ._._./ | ||
+ | </aa> | ||
== 概要 == | == 概要 == | ||
− | + | NuGetは大雑把に言えば、[[Perl]]の[[CPAN]]や[[Python]]の[[PyPI]]、[[PHP]]の[[PEAR]]、[[Ruby]]の[[RubyGems]]などに相当するものであり、[[.NET]]アプリケーションの[[開発者]]が[[オープンソース]]な[[ライブラリ]]を手軽に組み込めるようにするためのパッケージシステムである。 | |
+ | |||
+ | [[NuGet Addin for MonoDevelop and Xamarin Studio]]の登場により、[[Xamarin Studio]]などにこのアドオンを入れることで[[Mono]]系の各種[[プラットフォーム]]でも大部分のNuGetパッケージを手軽に利用できるようになった。たとえば[[MonoMac]]で[[Twitter]]関連ライブラリを利用するなども一発である。 | ||
+ | |||
+ | == 特徴 == | ||
+ | NuGetが[[PEAR]]や[[RubyGems]]などと大きく異なる点としては、PEARやRubyGemsでは導入した[[ライブラリ]]は基本的に[[共有ライブラリ]]として展開されるのに対して、NuGetではプロジェクト単位でローカルに展開されるようになっている。そのため、いわゆる[[OS]]の[[root権限]](管理者権限)が無くても利用することができ、またプロジェクトごとに異なるバージョンの同一ライブラリを使うなどといったことも簡単にできるようになっている。 | ||
+ | |||
+ | さらにプロジェクト単位で使用しているパッケージの一覧を「packages.config」というファイル(中身は簡単な[[XML]])に保持しており、この情報をもとに[[ビルド]]時に[[ライブラリ]]が見つからなければ自動的に[[インターネット]]越しに[[ダウンロード]]をおこない[[インストール]]することができる。これにより[[プログラマー]]の手を煩わすことなく開発環境を一発で復元することが可能となっているのも特筆すべき点である。 | ||
+ | |||
+ | このような仕組みは[[Apache Maven]]の[[jarファイル]]を[[インターネット]]上から取ってくる部分とほぼ同じだが、NuGetでは更に一歩踏み込んでおりパッケージをNuGetプロジェクトで集中管理しているという点が異なる。これにより[[公開者]]が行方不明になってもパッケージだけはNuGetプロジェクトに生き残っていたりする。ようするに古いマイナーなパッケージでも404エラーの発生率が格段に低い。 | ||
+ | このように本来は.NET向けのパッケージシステムであるが、プロジェクト単位で扱えという利点からか「[[ASP.NET]]向け」などという検閲を突破するための前置きを付け、[[jQuery]]などの[[JavaScript]]の[[ライブラリ]]をはじめ、アイコン集などの画像素材集や音声素材名目の自作楽曲やらを突っ込む面白外国人が大量に出現してカオスと化している。 | ||
+ | |||
+ | なお、NuGet 2.5からは公式にネイティブな[[C++]]などの.NET以外のプラットフォームもサポートするようになった。 | ||
+ | |||
+ | == 運営 == | ||
NuGetプロジェクトは、[[マイクロソフト]]が出資する非営利団体である[[OuterCurve Foundation]]内のプロジェクトである。 | NuGetプロジェクトは、[[マイクロソフト]]が出資する非営利団体である[[OuterCurve Foundation]]内のプロジェクトである。 | ||
− | + | ||
+ | [[.NET Framework]]をはじめ[[Windows]]の世界に身を置く人々たちは[[オープンソース]]という文化に不慣れである。そのため、[[OuterCurve Foundation]]は、[[マイクロソフト]]が主導する形で強引に[[オープンソース]]の世界に誘うことを目的としているらしい。NuGetも[[オープンソース]]を推進するためのものなのでオープンソースではないサードパーティー製のライブラリは冷酷に排除される。 | ||
== 使い方 == | == 使い方 == | ||
{{stub}} | {{stub}} | ||
+ | |||
+ | == おすすめNuGet == | ||
+ | NuGetギャラリーに掲載されている便利なライブラリを列挙する。 | ||
+ | * [[Fluent NHibernate]] | ||
+ | * [[RazorEngine]] | ||
+ | * [[Knockout.js]] | ||
== 関連項目 == | == 関連項目 == | ||
+ | * [[NuGet Addin for MonoDevelop and Xamarin Studio]] | ||
== 参考文献 == | == 参考文献 == | ||
+ | {{reflist}} | ||
== 外部リンク == | == 外部リンク == |
2016年7月2日 (土) 21:02時点における最新版
NuGet(読み:にゅーげっと、ぬげっと)とは、オープンソースなライブラリなどのプログラミング素材に特化したパッケージ管理システムである。かつては.NET Framework関連専用であったが、現在ではVisual C++やJavaScriptなどのあらゆるプラットフォームをサポートしている。
目次
発音編集
英語での発音は「にゅーげっと」や「ぬーげっと」に近いと言われているが、MSDN上での日本語表記は「ぬげっと」である。少なくとも「なげっと」ではないらしい[1]が、細かいことを気にしても仕方がないのでどれでもよい。
荒れたスレにナゲット再び
〃. ̄. ̄.ヽ
|: : : |
| : : :|
ヽ._._./
概要編集
NuGetは大雑把に言えば、PerlのCPANやPythonのPyPI、PHPのPEAR、RubyのRubyGemsなどに相当するものであり、.NETアプリケーションの開発者がオープンソースなライブラリを手軽に組み込めるようにするためのパッケージシステムである。
NuGet Addin for MonoDevelop and Xamarin Studioの登場により、Xamarin Studioなどにこのアドオンを入れることでMono系の各種プラットフォームでも大部分のNuGetパッケージを手軽に利用できるようになった。たとえばMonoMacでTwitter関連ライブラリを利用するなども一発である。
特徴編集
NuGetがPEARやRubyGemsなどと大きく異なる点としては、PEARやRubyGemsでは導入したライブラリは基本的に共有ライブラリとして展開されるのに対して、NuGetではプロジェクト単位でローカルに展開されるようになっている。そのため、いわゆるOSのroot権限(管理者権限)が無くても利用することができ、またプロジェクトごとに異なるバージョンの同一ライブラリを使うなどといったことも簡単にできるようになっている。
さらにプロジェクト単位で使用しているパッケージの一覧を「packages.config」というファイル(中身は簡単なXML)に保持しており、この情報をもとにビルド時にライブラリが見つからなければ自動的にインターネット越しにダウンロードをおこないインストールすることができる。これによりプログラマーの手を煩わすことなく開発環境を一発で復元することが可能となっているのも特筆すべき点である。
このような仕組みはApache Mavenのjarファイルをインターネット上から取ってくる部分とほぼ同じだが、NuGetでは更に一歩踏み込んでおりパッケージをNuGetプロジェクトで集中管理しているという点が異なる。これにより公開者が行方不明になってもパッケージだけはNuGetプロジェクトに生き残っていたりする。ようするに古いマイナーなパッケージでも404エラーの発生率が格段に低い。
このように本来は.NET向けのパッケージシステムであるが、プロジェクト単位で扱えという利点からか「ASP.NET向け」などという検閲を突破するための前置きを付け、jQueryなどのJavaScriptのライブラリをはじめ、アイコン集などの画像素材集や音声素材名目の自作楽曲やらを突っ込む面白外国人が大量に出現してカオスと化している。
なお、NuGet 2.5からは公式にネイティブなC++などの.NET以外のプラットフォームもサポートするようになった。
運営編集
NuGetプロジェクトは、マイクロソフトが出資する非営利団体であるOuterCurve Foundation内のプロジェクトである。
.NET FrameworkをはじめWindowsの世界に身を置く人々たちはオープンソースという文化に不慣れである。そのため、OuterCurve Foundationは、マイクロソフトが主導する形で強引にオープンソースの世界に誘うことを目的としているらしい。NuGetもオープンソースを推進するためのものなのでオープンソースではないサードパーティー製のライブラリは冷酷に排除される。
使い方編集
おすすめNuGet編集
NuGetギャラリーに掲載されている便利なライブラリを列挙する。
関連項目編集
参考文献編集
外部リンク編集
- NuGet Gallery - http://nuget.org/
- NuGet 開発拠点 - http://nuget.codeplex.com/