Nix 환경으로 빌드

Nix와 Docker를 사용하여 OWASP Noir를 위한 재현 가능한 개발 환경을 설정하세요.

Nix를 사용하여 재현 가능한 개발 환경을 설정할 수 있습니다. 이 접근 방식은 다양한 개발 머신에서 일관성을 보장하고 종속성 관리를 단순화합니다.

Nix 설치

Nix가 설치되어 있지 않다면 다음 명령으로 설치하세요:

# 다중 사용자 설치 (Linux/macOS 권장)
sh <(curl -L https://nixos.org/nix/install) --daemon

# 단일 사용자 설치
sh <(curl -L https://nixos.org/nix/install) --no-daemon

자세한 내용은 공식 Nix 설치 가이드를 참조하세요.

Nix Flakes를 사용한 설정

이 프로젝트는 개발 환경 관리를 위해 Nix Flakes를 사용합니다.

Flakes 활성화

~/.config/nix/nix.conf (또는 /etc/nix/nix.conf)에 다음을 추가하세요:

experimental-features = nix-command flakes

개발 셸 진입

cd noir
nix develop

이렇게 하면 Crystal, shards 및 모든 종속성이 자동으로 설정됩니다.

대안: Docker와 Nix 사용

완전히 격리된 환경을 원한다면 Docker를 사용할 수 있습니다:

docker run -it --rm -v $(pwd):/workspace -w /workspace nixos/nix bash

컨테이너 내부에서 개발 환경을 활성화합니다:

nix develop

이렇게 하면 Noir 개발에 필요한 모든 종속성과 도구가 격리되고 재현 가능한 환경에 설정됩니다.

장점

  • 재현성: 모든 머신에서 동일한 환경
  • 격리: 시스템 전체 종속성과의 간섭 없음
  • 일관성: 모든 팀원이 동일한 도구 버전을 사용하도록 보장
  • 간편한 설정: 시작하기 위한 단일 명령

다음 단계

Nix 환경이 설정되면 표준 빌드 및 테스트 절차를 진행할 수 있습니다.