패키지 빌드
다양한 패키지 형식으로 패키지를 설치하고 빌드하는 방법을 배워보세요.
Composer
-
my-composer-package
라는 디렉토리를 만들고 해당 디렉토리로 변경합니다:mkdir my-composer-package && cd my-composer-package
-
composer init
를 실행하고 프롬프트에 답변합니다.네임스페이스로는 GitLab 사용자 이름 또는 그룹 이름과 같은 고유한 namespace를 입력합니다.
composer.json
이라는 파일이 생성됩니다:{ "name": "<namespace>/composer-test", "description": "Library XY", "type": "library", "license": "GPL-3.0-only", "authors": [ { "name": "John Doe", "email": "john@example.com" } ], "require": {} }
Conan
Conan 설치
사전 요구 사항:
- Conan 버전 1.x를 설치해야 합니다. Conan 2에 대한 지원은 epic 8258에서 제안되었습니다.
로컬 개발 환경에 Conan 패키지 관리자를 다운로드하려면 conan.io에서 제공하는 지침을 따르세요.
설치가 완료되면 터미널에서 다음을 실행하여 Conan을 사용할 수 있는지 확인합니다:
conan --version
출력에 Conan 버전이 인쇄됩니다:
Conan version 1.20.5
CMake 설치
C++와 Conan으로 개발할 때 사용 가능한 여러 컴파일러 중에서 선택할 수 있습니다. 이 예시는 CMake 빌드 시스템 생성기를 사용합니다.
CMake를 설치하려면:
설치가 완료되면 터미널에서 다음을 실행하여 CMake를 사용할 수 있는지 확인합니다:
cmake --version
출력에 CMake 버전이 인쇄됩니다.
프로젝트 생성
패키지 레지스트리를 테스트하려면 C++ 프로젝트가 필요합니다. 아직 없는 경우 Conan의 hello world 시작 프로젝트를 클론할 수 있습니다.
Conan 패키지 빌드
패키지를 빌드하려면:
- 터미널을 열고 프로젝트의 루트 폴더로 이동합니다.
-
패키지 이름과 버전으로
conan new
를 실행하여 새 레시피를 생성합니다:conan new Hello/0.1 -t
-
Conan 사용자 및 채널로
conan create
를 실행하여 레시피에 대한 패키지를 생성합니다:conan create . mycompany/beta
Hello/0.1@mycompany/beta
라는 레시피의 패키지가 생성됩니다.
Conan 패키지 생성 및 관리에 대한 자세한 내용은 Conan 문서를 참조하세요.
Maven
Maven 설치
필요한 최소 버전은 다음과 같습니다:
- Java 11.0.5+
- Maven 3.6+
https://maven.apache.org/install.html의 지침을 따라 로컬 개발 환경에 Maven을 다운로드하고 설치하세요. 설치가 완료되면, 다음 명령어를 실행하여 터미널에서 Maven을 사용할 수 있는지 확인하세요:
mvn --version
출력은 다음과 유사해야 합니다:
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-04T20:00:29+01:00)
Maven home: /Users/<your_user>/apache-maven-3.6.1
Java version: 12.0.2, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk-12.0.2.jdk/Contents/Home
Default locale: en_GB, platform encoding: UTF-8
OS name: "mac os x", version: "10.15.2", arch: "x86_64", family: "mac"
Maven 패키지 빌드
- 터미널을 열고 프로젝트를 저장할 디렉터리를 만드세요.
-
새 디렉터리에서 새로운 패키지를 초기화하기 위해 다음 Maven 명령어를 실행하세요:
mvn archetype:generate -DgroupId=com.mycompany.mydepartment -DartifactId=my-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
인수는 다음과 같습니다:
-
DgroupId
: 패키지를 식별하는 고유한 문자열. Maven 네이밍 규칙을 따르세요. -
DartifactId
:DgroupId
의 끝에 추가되는JAR
의 이름입니다. -
DarchetypeArtifactId
: 프로젝트의 초기 구조를 생성하는 데 사용되는 아키타입입니다. -
DinteractiveMode
: 배치 모드를 사용하여 프로젝트를 생성합니다(선택 사항).
-
이 메시지는 프로젝트가 성공적으로 설정되었음을 나타냅니다:
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.429 s
[INFO] Finished at: 2020-01-28T11:47:04Z
[INFO] ------------------------------------------------------------------------
명령어를 실행한 폴더에서 새로운 디렉터리가 표시되어야 합니다.
디렉터리 이름은 이 경우 DartifactId
매개변수와 일치해야 하며,
my-project
입니다.
Gradle
Gradle 설치
새로운 Gradle 프로젝트를 만들고 싶다면, Gradle을 설치해야 합니다. https://gradle.org/install/의 지침을 따라 로컬 개발 환경에 Gradle을 다운로드하고 설치하세요.
터미널에서 다음 명령어를 실행하여 Gradle을 사용할 수 있는지 확인하세요:
gradle -version
기존 Gradle 프로젝트를 사용하려면, 프로젝트 디렉터리에서
Linux에서는 gradlew
를 실행하고, Windows에서는 gradlew.bat
를 실행하세요.
출력은 다음과 유사해야 합니다:
------------------------------------------------------------
Gradle 6.0.1
------------------------------------------------------------
Build time: 2019-11-18 20:25:01 UTC
Revision: fad121066a68c4701acd362daf4287a7c309a0f5
Kotlin: 1.3.50
Groovy: 2.5.8
Ant: Apache Ant(TM) version 1.10.7 compiled on September 1 2019
JVM: 11.0.5 (Oracle Corporation 11.0.5+10)
OS: Windows 10 10.0 amd64
패키지 생성하기
-
터미널을 열고 프로젝트를 저장할 디렉토리를 만듭니다.
-
이 새 디렉토리에서 다음 명령어를 실행하여 새로운 패키지를 초기화합니다:
gradle init
출력은 다음과 같아야 합니다:
생성할 프로젝트 유형 선택: 1: basic 2: application 3: library 4: Gradle plugin 선택 입력 (기본값: basic) [1..4]
-
새 Library 프로젝트를 생성하려면
3
을 입력합니다. 출력은 다음과 같아야 합니다:구현 언어 선택: 1: C++ 2: Groovy 3: Java 4: Kotlin 5: Scala 6: Swift
-
새 Java Library 프로젝트를 생성하려면
3
을 입력합니다. 출력은 다음과 같아야 합니다:빌드 스크립트 DSL 선택: 1: Groovy 2: Kotlin 선택 입력 (기본값: Groovy) [1..2]
-
Groovy DSL로 설명된 새 Java Library 프로젝트를 생성하려면
1
을 입력하고, Kotlin DSL로 설명된 것을 생성하려면2
를 입력합니다. 출력은 다음과 같아야 합니다:테스트 프레임워크 선택: 1: JUnit 4 2: TestNG 3: Spock 4: JUnit Jupiter
-
JUnit 4 테스트 라이브러리로 프로젝트를 초기화하려면
1
을 입력합니다. 출력은 다음과 같아야 합니다:프로젝트 이름 (기본값: test):
-
프로젝트 이름을 입력하거나 Enter 키를 눌러 디렉토리 이름을 프로젝트 이름으로 사용합니다.
sbt
sbt 설치하기
새 sbt 프로젝트를 생성하기 위해 sbt를 설치합니다.
개발 환경에 sbt를 설치하려면:
-
scala-sbt.org에서 지침을 따릅니다.
-
터미널에서 sbt를 사용할 수 있는지 확인합니다:
sbt --version
출력은 다음과 유사합니다:
[warn] 프로젝트 로딩 실패: (r)재시도, (q)종료, (l)최근, 또는 (i)무시? (기본값: r)
sbt 스크립트 버전: 1.9.8
Scala 프로젝트 생성하기
-
터미널을 열고 프로젝트를 저장할 디렉토리를 만듭니다.
-
새 디렉토리에서 새 프로젝트를 초기화합니다:
sbt new scala/scala-seed.g8
출력은 다음과 같습니다:
최소 Scala 빌드. 이름 [My Something Project]: hello 템플릿이 ./hello에 적용됨
-
프로젝트 이름을 입력하거나 Enter 키를 눌러 디렉토리 이름을 프로젝트 이름으로 사용합니다.
-
build.sbt
파일을 열고 sbt 문서에 설명된 대로 수정하여 패키지 레지스트리에 프로젝트를 게시합니다.
npm
npm 설치하기
Node.js와 npm을 로컬 개발 환경에 설치하려면
npmjs.com의 지침을 따릅니다.
설치가 완료되면 터미널에서 다음을 실행하여 npm을 사용할 수 있는지 확인합니다:
npm --version
npm 버전이 출력에 표시됩니다:
6.10.3
npm 패키지 만들기
-
빈 디렉토리를 만듭니다.
-
해당 디렉토리로 가서 다음 명령어를 실행하여 빈 패키지를 초기화합니다:
npm init
-
질문에 대한 응답을 입력합니다. 패키지 이름이 명명 규칙을 따르고 레지스트리가 존재하는 프로젝트나 그룹에 맞게 범위가 설정되어 있는지 확인합니다.
Yarn
Yarn 설치
npm의 대안으로, classic.yarnpkg.com에서 제공하는 지침에 따라 로컬 환경에 Yarn을 설치할 수 있습니다.
설치가 완료되면 터미널에서 다음 명령어를 실행하여 Yarn을 사용할 수 있는지 확인합니다:
yarn --version
Yarn 버전은 출력에 표시됩니다:
1.19.1
패키지 만들기
-
빈 디렉토리를 만듭니다.
-
해당 디렉토리로 가서 다음 명령어를 실행하여 빈 패키지를 초기화합니다:
yarn init
-
질문에 대한 응답을 입력합니다. 패키지 이름이 명명 규칙을 따르고 레지스트리가 존재하는 프로젝트나 그룹에 맞게 범위가 설정되어 있는지 확인합니다.
package.json
파일이 생성됩니다.
NuGet
NuGet 설치
Microsoft에서 제공하는 지침에 따라 NuGet을 설치합니다. Visual Studio가 설치되어 있다면, NuGet이 아마도 이미 설치되어 있을 것입니다.
다음 명령어를 실행하여 NuGet CLI가 설치되어 있는지 확인합니다:
nuget help
출력은 다음과 유사해야 합니다:
NuGet Version: 5.1.0.6013
usage: NuGet <command> [args] [options]
Type 'NuGet help <command>' for help on a specific command.
Available commands:
[output truncated]
PyPI
pip 및 twine 설치
프로젝트 만들기
테스트 프로젝트를 만듭니다.
-
터미널을 엽니다.
-
MyPyPiPackage
라는 디렉토리를 만들고, 해당 디렉토리로 이동합니다:mkdir MyPyPiPackage && cd MyPyPiPackage
-
다른 디렉토리를 만들고, 해당 디렉토리로 이동합니다:
mkdir mypypipackage && cd mypypipackage
-
이 디렉토리에 필요한 파일을 만듭니다:
touch __init__.py touch greet.py
-
greet.py
파일을 열고, 다음을 추가합니다:def SayHello(): print("Hello from MyPyPiPackage") return
-
__init__.py
파일을 열고, 다음을 추가합니다:from .greet import SayHello
-
코드를 테스트하기 위해
MyPyPiPackage
디렉토리에서 Python 프롬프트를 시작합니다.python
-
다음 명령어를 실행합니다:
>>> from mypypipackage import SayHello >>> SayHello()
프로젝트가 성공적으로 설정되었음을 나타내는 메시지가 표시됩니다:
Python 3.8.2 (v3.8.2:7b3ab5921f, Feb 24 2020, 17:52:18)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from mypypipackage import SayHello
>>> SayHello()
Hello from MyPyPiPackage
PyPI 패키지 생성
프로젝트를 생성한 후, 패키지를 생성할 수 있습니다.
- 터미널에서
MyPyPiPackage
디렉토리로 이동합니다. -
pyproject.toml
파일을 생성합니다:touch pyproject.toml
이 파일에는 패키지에 대한 모든 정보가 포함되어 있습니다. 이 파일에 대한 자세한 내용은 creating
pyproject.toml
을 참조하세요.
GitLab은 Python normalized names (PEP-503)를 기반으로 패키지를 식별하므로 패키지 이름이 이러한 요구 사항을 충족하는지 확인하세요. 자세한 내용은 설치 섹션을 참조하세요. -
pyproject.toml
파일을 열고 기본 정보를 추가합니다:[build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [project] name = "mypypipackage" version = "0.0.1" authors = [ { name="Example Author", email="author@example.com" }, ] description = "작은 예제 패키지" requires-python = ">=3.7" classifiers = [ "Programming Language :: Python :: 3", "Operating System :: OS Independent", ] [tool.setuptools.packages] find = {}
- 파일을 저장합니다.
-
패키지 빌드 라이브러리를 설치합니다:
pip install build
-
패키지를 빌드합니다:
python -m build
출력은 새로 생성된 dist
폴더에 표시되어야 합니다:
ls dist
출력은 다음과 유사하게 나타나야 합니다:
mypypipackage-0.0.1-py3-none-any.whl mypypipackage-0.0.1.tar.gz
이제 패키지 등록소에 게시할 준비가 되었습니다.