NuGet이란?
NuPack 기반의 NuGet은 free and open-source package manager desigend for the MS developer platform 이다.
NuPack 기반의 NuGet은 free and open-source package manager desigend for the MS developer platform 이다.
.Net 프레임워크를 위한 소스코드 관리자이다. (왜 소스코드 관리자라고 하는지는 뒤에서 설명한다.)
C# 기반으로 시작되어, 2013년 부터 native c++ 프로젝트를 지원하면서 visual studio에서 가장 대표적인 오픈소스 지원 프로젝트
2010부터 시작되어, 2012 vs 버전 부터는 기본설치로 제공 되었음.
NuGet은 visual studio
add-in 으로서, .net을 기본으로 하여, c++,
cross-platform 지원 등을 통해, 그 범위를 넓혀 다양한 오픈소스 프로젝트들을 지원함으로서, NuGet
Eco-System을 구축해 나아가고 있다.
NuGet Eco-System
NuGet의 장점을 소스코드나 결과물을 이용하는 것, 환경 설정을 자동으로 해준다는 측면이 있는게 아니라, 기본적으로 오픈소스를 활발히 운영하기 위해 필요한 기본적인 것들을 무료로 제공하는 것을 Nuget Eco-System이라는 것으로 지원하고 있다.
개발자들이 편하게 사용할 수 있도록 Open-Source 제공, Source code Repository, 커뮤니티,
비주얼 스튜디오와 연결된 오픈소스 툴, 온오프라인 컨퍼런스 등의 토털 셋을 제공하고 있다.
NuGet Eco-System 예
NuGet의 장점을 소스코드나 결과물을 이용하는 것, 환경 설정을 자동으로 해준다는 측면이 있는게 아니라, 기본적으로 오픈소스를 활발히 운영하기 위해 필요한 기본적인 것들을 무료로 제공하는 것을 Nuget Eco-System이라는 것으로 지원하고 있다.
개발자들이 편하게 사용할 수 있도록 Open-Source 제공, Source code Repository, 커뮤니티,
비주얼 스튜디오와 연결된 오픈소스 툴, 온오프라인 컨퍼런스 등의 토털 셋을 제공하고 있다.
NuGet Eco-System 예
- Outercurve Foundation NuGet Project
- NuGet-based tools by Microsoft
- NuGet Package Explorer
- MyGet (NuGet-as-a-Service)
- Chocolatey
- OctopusDeploy
- RedGate Deployment Manager
- SymbolSource
- ProGet (Inedo)
- CoApp
- BoxStarter
- SharpDevelop NuGet plug-in
- Xamarin NuGet plug-in
- TeamCity support for NuGet
- Artifactory support for NuGet
- Nexus support for NuGet
- Glimpse Plug-ins
- ReSharper Plug-ins
- Orchard
- NuGetMustHaves
- NuGetFeed
- NuGetLatest
- NuGet server in Java
- NuGet Fight
- NuGit
Package Manager -
Package Manager System 이란
무엇인가.
"Collection of software tools" 이다.
OS 따른, SW개발에 필요한 모든 기능들, 설치, 업그레이드, 설정, 제거 등을 자동으로 관리해주는 것.
이러한 시스템은, 기존의 SW 또는 라이브러리의 수동 설치 및 수동 업데이트를 개선하기 위해 고안되었다. 즉, 오픈소스 라이브러리 또는 프로젝트를 추가할 때 필요한, 일련의 설정을 하는 동작(link, include 등)들을 자동으로 관리한다. 새로운 버전이 나와도, 원클릭으로 추가 작업없이 설정이 가능하다.
Package 란?
이러한 관리가 가능한 이유는, Package에 해당 필요한 정보들이 모두 기술되어져 있기 때문이다.
Package 는 이러한 기능을 실행하는데 필요한 파일(소스코드, 라이브러리, 예제, 버전등의 기본정보)들을 담고 있는 것을 말한다. ".nupkg"라는
확장자로 사용된다.
nupkg 파일
안에, 빌드에 필요한 모든 정보가 들어 있다. 그렇기 때문에, 해당 프로젝트에서는 어떠한 추가 설정 없이, install만으로 빌드 후, 라이브러리 설정들이 자동으로 설정이 되어진다.
그렇다면 그 많은 Package들을 어디서 어떻게 설치하고, 관리되고 있을까?
NuGet Gallery
NuGet 패키지를 검색/업/다운로드가 가능한 웹페이지.
이번에는 NuGet에 대한 기본적으로 개념을 알아 보았다.
다음번엔 Package를 설치하는 방법에 대해서 알아 보겠다.
사실 Package를 한번 만들어보고 다운로드 받아보면, 실제로 어떤 동작을 하는지 정확히 알 수 있다.
- https://en.wikipedia.org/wiki/NuGet
댓글 없음:
댓글 쓰기