Libman으로 오픈소스 관리하기
Libman(Library Manager)은 인기 있는 라이브러리 및 프레임워크를 클라이언트 라이브러리를 관리하기 위한 CLI 도구로 dotnet 이 실행될 수 있는 Windows, macOS, Linux 를 지원합니다. 지원되는 소스 제공자는 FileSystem 과 CDN은 CDNJS, jsDelivr, unpkg 4 개를 지원합니다.
본래 ASP.NET Core 개발을 위한 도구로 Visual Studio 2022 에 GUI 도구로 포함되어 있던 것을 CLI 버전으로도 제공하게 되어 사실상 개발 기술에 상관없이 본인의 환경에 유용하게 사용 할 수 있습니다.
이것은 특히 웹 개발에서 유용한데, 선택한 라이브러리 파일은 설정에 의해 적절한 위치에 배치됩니다.
이 가이드는 개발자들이 Libman을 사용하여 오픈소스 라이브러리를 효율적으로 관리하는 방법을 소개합니다.
공식문서 - ASP.NET Core에서 LibMan CLI 사용
Libman 설치하기
먼저, Libman을 설치해야 합니다. Visual Studio를 사용 중이라면, Libman은 기본적으로 포함되어 있습니다. Visual Studio Code를 사용 중이라면, 다음 명령어를 통해 Libman CLI를 설치할 수 있습니다.
dotnet tool install -g Microsoft.Web.LibraryManager.CliLibman 초기화
프로젝트 디렉토리에서 Libman을 초기화합니다. 이 명령어는 libman.json 파일을 생성하여 라이브러리 관리를 시작할 수 있게 합니다.
libman init라이브러리 추가하기
Libman을 사용하여 필요한 오픈소스 라이브러리를 추가할 수 있습니다. 예를 들어, jQuery를 추가하려면 다음 명령어를 사용합니다.
libman install jquery --provider cdnjs이 명령어는 cdnjs 제공자를 통해 jQuery를 다운로드하고, libman.json 파일에 해당 라이브러리를 기록합니다.
라이브러리 업데이트 및 제거
라이브러리를 업데이트하거나 제거하는 것도 간단합니다. 업데이트하려면 다음 명령어를 사용합니다.
libman update jquery제거하려면 다음 명령어를 사용합니다.
libman uninstall jquerylibman.json 파일 이해하기
libman.json 파일은 프로젝트에서 사용하는 모든 라이브러리를 정의합니다. 예시 파일은 다음과 같습니다.
files 항목을 설정하지 않으면 소스의 모든 파일을 대상 경로로 배치합니다.
{
"version": "1.0",
"defaultProvider": "cdnjs",
"libraries": [
{
"library": "jquery@3.5.1",
"destination": "wwwroot/lib/jquery"
},
{
"provider": "unpkg",
"library": "bootstrap@4.1.3",
"destination": "wwwroot/lib/bootstrap/"
},
{
"provider": "filesystem",
"library": "C:/temp/lodash/",
"files": [
"lodash.js",
"lodash.min.js"
],
"destination": "wwwroot/lib/lodash/"
}
]
}이 파일을 통해 라이브러리의 버전, 제공자, 설치 경로 등을 관리할 수 있습니다.
Libman의 장점
간편한 설치 및 관리: 명령어 몇 개로 라이브러리를 쉽게 설치하고 관리할 수 있습니다.
다양한 제공자 지원: cdnjs, unpkg, filesystem 등 다양한 제공자를 지원하여 유연하게 사용할 수 있습니다.
프로젝트 일관성 유지:
libman.json파일을 통해 프로젝트의 모든 라이브러리를 일관되게 관리할 수 있습니다.
실습 예제
다음은 Libman을 사용하여 Bootstrap과 Popper.js를 설치하는 예제입니다.
libman install bootstrap --provider cdnjs
libman install popper.js --provider cdnjs이 명령어를 실행하면 wwwroot/lib 디렉토리에 Bootstrap과 Popper.js가 설치됩니다.
저의 경우도 화면 개발에 필요한 클라이언트 라이브러리에 대한 버전 관리를 다음과 같이 관리하고 있습니다.
https://github.com/handstack77/handstack/blob/master/2.Modules/wwwroot/libman.json
Libman은 개발자들이 오픈소스 라이브러리를 효율적으로 관리할 수 있도록 도와주는 강력한 도구입니다. 잠깐 시간을 투자해서 Libman의 기본 사용법을 익히고, 프로젝트에 적용해 보세요.
댓글
로그인 후 댓글을 남길 수 있습니다.
아직 댓글이 없습니다.