체인의정석

direnv 사용하여 다중 체인 관리하기 본문

개발/backend

direnv 사용하여 다중 체인 관리하기

체인의정석 2022. 4. 22. 18:47
728x90
반응형

브릿지를 구현하다보니 체인별로 정말 다양한 환경의 환경변수 세팅이 필요해졌다.

이에 따라 기존의 env 대신에 direnv를 사용하여서 관리하기로 하였다.

 

먼저 이 작업을 하기 전에 선행으로 체인별로 경로에 대한 구조를 설계하고 나누어서 디렉토리에 대한 세팅을 먼저 진행하였다.

이후 direnv를 사용하여서 디렉토리별로 체인에 대한 변수를 설정해서 실행할 예정이다. 찾아본 결과 아래 블로그가 가장 설명이 잘 되어 있었다.

 

https://www.44bits.io/ko/post/direnv_for_managing_directory_environment

 

direnv를 사용한 디렉토리(프로젝트) 별 개발환경 구축: 루비, 파이썬, 노드 개발 환경 구축

direnv는 디렉터리 별로 셸 환경을 구축할 수 있게 해주는 도구입니다. 디렉터리 별 환경 변수 설정 법, 루비(Ruby), 파이썬(Python), 노드(Node) 등 프로그래밍 언어 프로젝트를 셋업하는 법을 소개합니

www.44bits.io

 

먼저 설치의 경우 mac 환경이라면 아래 처럼 

brew install direnv

(base) lambda256@ethan % direnv version
2.31.0


## ZSH -> ~/.zshrc에 아래 내용 추가
eval "$(direnv hook zsh)"

을 실행한다.

 

그 다음으로 환경 설정이 필요한 디렉터리 아래 .envrc 파일을 만들면 된다고 한다.

 

파일을 수정한 후에 아래 명령어를 내려주면

direnv allow

해당 경로에 들어올때마다 env파일을 알아서 로드해준다.

 

그럼 지금 약 15개에 해당하는 디렉토리에다가 각각 .envrc 폴더를 만들고

값을 고정적으로 넣어준 후에 실행을 하면? 바로 실행이 된다.

 

나머지는 direnv에 대한 내용보다는 환경 변수를 어떻게 묶어서 처리할지의 고민이므로 다음에 시간이 나면 기록하도록 하겠다.

728x90
반응형
Comments