본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

Conch Environment Manager

0

Conch Environment Manager는 선언적 방식의 크로스플랫폼 PowerShell 환경 관리 도구입니다.

TOML 매니페스트크로스플랫폼환경 관리

소개

Conch Environment Manager는 선언적 방식의 크로스플랫폼 PowerShell 환경 관리 도구입니다. 단일 TOML 매니페스트 파일에 PowerShell 버전과 필요한 모듈을 정의하면, `conch install` 명령 하나로 재현 가능하고 격리된 환경을 구축할 수 있습니다. 이 도구는 '내 컴퓨터에서는 동작한다'는 문제를 해결하기 위해 설계되었으며, Go 언어로 작성되었습니다.

상세정보

선언적 환경 관리

프로젝트 루트에 conch.toml 매니페스트 파일을 생성하여 원하는 PowerShell 버전과 필수 모듈을 명시합니다. 이 파일을 기준으로 Conch는 환경을 자동으로 구성합니다.

안전한 다운로드 및 검증

모든 다운로드는 사용자별 콘텐츠 주소 가능 캐시를 거치며, 외부에서 제공된 SHA-256 해시와 비교하여 검증됩니다. 검증된 후 해시는 conch.lock 파일에 기록되어 재설치 시 신뢰할 수 있는 기준점으로 사용됩니다.

격리된 PowerShell 세션 제공

환경이 준비되면 activate.ps1 스크립트가 생성되어 PSModulePath를 .conch/modules 및 bundled 엔진 모듈로 제한합니다.これにより 기본 cmdlet인 Add-Member 등을 사용할 수 있는 환경을 보장하며, 세션 종료 시 스크래치 변수를 정리합니다.

환경 설치

프로젝트 루트에 conch.toml 파일을 배치한 후, 다음 명령을 실행하여 선언된 환경을 설치합니다.

conch install

이 명령은 매니페스트를 읽고, 필요한 PowerShell 버전과 모듈을 다운로드하여 .conch 디렉터리에 구성합니다.

환경 내에서 작업 실행

설치된 환경에서 특정 작업을 실행하려면 conch run 명령을 사용합니다. 예를 들어, PowerShell 세션을 시작하려면 다음과 같이 입력합니다.

conch run pwsh -Command ".activate.ps1; "

대화형 셸 실행

설치된 환경에서 대화형 PowerShell 셸을 직접 실행하려면 다음 명령을 사용합니다.

conch shell pwsh -NoExit ".activate.ps1"

이런 경우에 유용합니다

여러 프로젝트에서 서로 다른 PowerShell 버전이나 모듈 세트가 필요한 개발자에게 유용합니다. conch.toml 파일을 버전 관리 시스템에 커밋하면, 팀원이나 CI/CD 파이프라인에서 동일한 명령을 실행함으로써 일관된 개발 환경을 신속하게 재현할 수 있습니다.

지원 환경·시스템 요구사항

Conch는 Windows, Linux, ARM, Intel, AMD 아키텍처에서 실행 가능한 크로스플랫폼 도구입니다. 공식 배포는 Chocolatey를 통해 Windows용 zip 패키지로 제공되며, Go 언어로 작성되어 해당 플랫폼에서 실행 가능합니다.

최신 버전·업데이트

현재 버전은 1.0.0이며, 공식 GitHub 저장소의 Releases 페이지에서 최신 릴리스 정보를 확인할 수 있습니다.

화면으로 보는 주요 기능

로고 화면

로고 화면

파란색 그라데이션으로 된 'CONCH'라는 텍스트 로고가 보입니다. 'O' 문자 안에는 콘솔 프롬프트 기호(>_)가 포함되어 있습니다.

설치 및 실행 프로세스 다이어그램

설치 및 실행 프로세스 다이어그램

'conch install', 'conch run TASK', 'conch shell'라는 세 가지 명령어가 시작점으로, 'Load conch.toml · verify host supported'라는 단계를 거칩니다. 이후 'lockfile already satisfied?'라는 조건 분기점이 있으며, 'yes' 경로는 'Rewrite activate.ps1'로 이어지고, 'no' 경로는 'Resolve · GitHub releases + PSGallery OData'에서 시작하여 'Trust anchor: lockfile SHA-256 or freshly fetched upstream hash', 'Cache.Get(name, sha, fetch) · empty hash ⇒ skip cache', 'Download · verify hash · atomic write to cache', 'Extract to .conch/pwsh + .conch/modules/', 'Write conchlock · rewrite activate.ps1 · patch .gitignore'를 거쳐 'Environment ready' 상태에 도달합니다. 'Environment ready' 상태에서 'conch run pwsh -Command '.activate.ps1; ''와 'conch shell pwsh -NoExit '.activate.ps1''라는 두 가지 실행 경로가 나뉩니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.