「NuGet」を編集中

ナビゲーションに移動 検索に移動

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

最新版 編集中の文章
1行目: 1行目:
'''NuGet'''(読み:にゅーげっと、ぬげっと)とは、[[オープンソース]]な[[ライブラリ]]などのプログラミング素材に特化した[[パッケージ管理システム]]である。かつては[[.NET Framework]]関連専用であったが、現在では[[Visual C++]]や[[JavaScript]]などのあらゆるプラットフォームをサポートしている。
+
'''NuGet'''(読み:にゅーげっと、ぬげっと)とは、[[オープンソース]]な[[ライブラリ]]などのプログラミング素材に特化した[[パッケージ管理システム]]である。かつては[[.NET Framework]]関連専用であったが、現在は他のプラットフォームもサポートしている。
  
 
== 発音 ==
 
== 発音 ==
英語での発音は「にゅーげっと」や「ぬーげっと」に近いと言われているが、[[MSDN]]上での日本語表記は「ぬげっと」である。少なくとも「なげっと」ではないらしい<ref>http://blogs.msdn.com/b/hirosho/archive/2011/11/09/whatsnugetandtryusethat.aspx</ref>が、細かいことを気にしても仕方がないのでどれでもよい。
+
英語での発音は「にゅーげっと」や「ぬーげっと」に近いと言われているが、[[MSDN]]上での日本語での記述は「ぬげっと」である。少なくとも「なげっと」ではないらしい<ref>http://blogs.msdn.com/b/hirosho/archive/2011/11/09/whatsnugetandtryusethat.aspx</ref>が、細かいことを気にしても仕方がないのでどれでもよい。
  
 
<aa>
 
<aa>
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]]の登場により、[[Xamarin Studio]]などにこのアドオンを入れることで[[Mono]]系の各種[[プラットフォーム]]でも大部分のNuGetパッケージを手軽に利用できるようになった。たとえば[[MonoMac]]で[[Twitter]]関連ライブラリを利用するなども一発である。
 
  
 
== 特徴 ==
 
== 特徴 ==
NuGetが[[PEAR]][[RubyGems]]などと大きく異なる点としては、PEARやRubyGemsでは導入した[[ライブラリ]]は基本的に[[共有ライブラリ]]として展開されるのに対して、NuGetではプロジェクト単位でローカルに展開されるようになっている。そのため、いわゆる[[OS]][[root権限]](管理者権限)が無くても利用することができ、またプロジェクトごとに異なるバージョンの同一ライブラリを使うなどといったことも簡単にできるようになっている。
+
NuGetで[[インストール]]できる[[ライブラリ]]は[[.NET Framework]]の特性上、[[共通言語基盤]]に対応した[[プログラミング言語]]であれば[[C Sharp|C#]]であろうと[[VB .NET]]であろうと何であろうと共通で用いることができる。
  
さらにプロジェクト単位で使用しているパッケージの一覧を「packages.config」というファイル(中身は簡単な[[XML]])に保持しており、この情報をもとに[[ビルド]]時に[[ライブラリ]]が見つからなければ自動的に[[インターネット]]越しに[[ダウンロード]]をおこない[[インストール]]することができる。これにより[[プログラマー]]の手を煩わすことなく開発環境を一発で復元することが可能となっているのも特筆すべき点である。
+
PEARやRubyGemsと若干異なる点としては、PEARやRubyGemsで導入したライブラリは基本的に共有ライブラリとして展開されるのに対して、NuGetではプロジェクト単位でローカルに展開されるようになっている。そのため、いわゆる[[OS]]のroot権限(管理者権限)が無くても利用することができ、またプロジェクトごとに異なるバージョンの同一ライブラリを使うなどといったことも簡単にできるようになっている。
  
このような仕組みは[[Apache Maven]][[jarファイル]][[インターネット]]上から取ってくる部分とほぼ同じだが、NuGetでは更に一歩踏み込んでおりパッケージをNuGetプロジェクトで集中管理しているという点が異なる。これにより[[公開者]]が行方不明になってもパッケージだけはNuGetプロジェクトに生き残っていたりする。ようするに古いマイナーなパッケージでも404エラーの発生率が格段に低い。
+
さらにプロジェクト単位で使用しているパッケージの一覧を「packages.config」というファイル(中身はXML)に保持しており、この情報をもとに[[ビルド]]時に[[ライブラリ]]が見つからなければ自動的に[[インターネット]]越しに[[ダウンロード]]をおこない[[インストール]]することができる。これにより[[プログラマー]]の手を煩わすことなく開発環境を一発で復元することが可能となっているのも特筆すべき点である。
  
このように本来は.NET向けのパッケージシステムであるが、プロジェクト単位で扱えという利点からか「[[ASP.NET]]向け」などという検閲を突破するための前置きを付け、[[jQuery]]などの[[JavaScript]]の[[ライブラリ]]をはじめ、アイコン集などの画像素材集や音声素材名目の自作楽曲やらを突っ込む面白外国人が大量に出現してカオスと化している。
+
このように本来は.NET向けのパッケージシステムであるが、プロジェクト単位で扱えという利点からか「[[ASP.NET]]のための」などという検閲を突破するための前置きを付けた[[jQuery]]などのJavaScriptライブラリをはじめ、アイコン集などの画像素材集や音声素材名目の自作楽曲やらを突っ込む面白外国人が大量に出現してカオスと化している。
  
 
なお、NuGet 2.5からは公式にネイティブな[[C++]]などの.NET以外のプラットフォームもサポートするようになった。
 
なお、NuGet 2.5からは公式にネイティブな[[C++]]などの.NET以外のプラットフォームもサポートするようになった。
  
== 運営 ==
+
=== 運営 ===
 
NuGetプロジェクトは、[[マイクロソフト]]が出資する非営利団体である[[OuterCurve Foundation]]内のプロジェクトである。
 
NuGetプロジェクトは、[[マイクロソフト]]が出資する非営利団体である[[OuterCurve Foundation]]内のプロジェクトである。
  
[[.NET Framework]]をはじめ[[Windows]]の世界に身を置く人々たちは[[オープンソース]]という文化に不慣れである。そのため、[[OuterCurve Foundation]]は、[[マイクロソフト]]が主導する形で強引に[[オープンソース]]の世界に誘うことを目的としているらしい。NuGetも[[オープンソース]]を推進するためのものなのでオープンソースではないサードパーティー製のライブラリは冷酷に排除される。
+
[[OuterCurve Foundation]]は[[.NET Framework]]をはじめ[[Windows]]の世界に身を置く人々たちは[[オープンソース]]という文化に不慣れであるため、[[マイクロソフト]]が主導するかたちで強引に[[オープンソース]]の世界に誘うことを目的としているらしく、NuGetも[[オープンソース]]を推進するためのものなのでオープンソースではないサードパーティー製のライブラリは冷酷に排除される。
  
 
== 使い方 ==
 
== 使い方 ==

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート:

このページは 1 個の隠しカテゴリに属しています: