[TIL] 2021.11.15 (월)

Song·2021년 11월 15일
1

회고록

목록 보기
9/47

Today I Learned - 2021.11.15 (월)

1. Node Version Downgrade

현재 우리 회사는 Node v14.* 를 사용하고 있기에 최신 릴리즈를 설치 후 다운그레이드를 통해 버전을 맞춰 주었다.

sudo npm install -g n
<Enter your password>
sudo n <version you want>

2. Monorepo 란

Monolithic Repository의 약자로 반대되는 단어로는 Multi-repo, Poly-repo가 있다.
Monorepo 는 하나의 레포지토리안에 여러개의 프로젝트가 구성된 것을 의미한다.

장점으로는 패키지 및 코드 관리가 쉬우며 공통으로 사용되는 로직들의 공유가 가능하다는 점이다.
단점은 Dependency가 충돌할 가능성이 높고 하나의 node_module를 사용하기 때문에 사용하지 않는 패키지여도 설치가 이루어져야하는 특징이 있다.

3. Homebrew없이 Mac에 Git 설치

Homebrew 란 macOS 전용 패키지 관리 어플리케이션이다. 타 어플리케이션도 존재하지만 거의 표준으로 자리잡혀있으며 리눅스의 패키지 관리자들과 사용법이 비슷하다는 장점이 있다. 다만, 커뮤니티 기반으로 운영되기 때문에 패키지의 안정성이 보장되지 않는다는 단점이 있다.

Git 공식 페이지를 보면 Homebrew로 통해 설치하는 것을 권장하지만 해당 패키지없이도 설치하는 방법을 알려준다.

아래 사이트를 통해 dmg 파일을 다운받은 후 안에 압축되어있는 pkg 파일을 설치하면 된다.
https://sourceforge.net/projects/git-osx-installer/

4. nestjs cli 설치 시 권한 오류

Git clone 후 nestjs cli 를 설치하려고 하는데 아래와 같이
errno -13이 뜨며 permission denied 오류가 발생하였다.

결과적으로는 권한 문제였고 기존 nestjs 설치 명령어 앞에 sudo 를 붙혀주며 문제를 해결하였다.

$ sudo npm install -g @nestjs/cli

5. .zshrc에 MySql version path 설정

zsh (Z shell) 란 유닉스 쉘의 일종으로 간단한 설정을 통해 문법 오류를 정정해주며 그 외의 다양한 테마를 제공해준다. 근데 나는 default로 설정되어 있길래..쓰고 있다..

zshrc 파일은 리소스 파일로 zsh 실행시 참조되는 스크립트를 포함하고 있으며 사용자가 필요 시 수정할 수 있다.

MySql 설치 후 zsh를 통해 아래와 같이 버전을 확인하려고하면 command not found 가 떴다.

mysql --version

zsh 를 위해서 별도 환경변수를 설정해주지 않아서 발생한 에러였기에 .zshrc 에 MySql 경로를 추가한 후 동작할 수 있도록 실행시키면서 오류를 해결하였다.

# 스크립트 추가
echo 'export PATH=${PATH}:/usr/local/mysql/bin/' >.zshrc
# 실행
source ~/.zshrc 

6. Azure Devops를 이용하여 Git Clone 하기

Mac에서 Azure Devops에 접속하려면 ssh 키를 발급 후 azure에 등록해야한다.
ssh 는 암호화 기반 네트워크 프로토콜이며 컴퓨터 시스템에 원격으로 접속할 수 있도록 해준다.

Mac 은 유닉스 기반의 운영체제이므로 OpenSSH를 기본으로 포함하고 있기에 간단한 명령어로 ssh 공개키를 쉽게 생성할 수 있다.

# 기본
$ ssh-keygen
# Azure
$ ssh-keygen -C "email address"

이후 파일명과 경로를 입력해줘야하는데 이 때 기본값과 다르게 입력 시 Azure 에서 찾지 못하는 상황이 발생하므로 주의해야한다.

# 아래와 같이 파일명과 경로 입력
/Users/.../.ssh/id_rsa

이렇게 생성된 키값은 vi/cat 를 통해 확인 후 복사하여 Azure 서버에 등록해주면 된다!

느낀점

오늘은 회사 첫 출근날이었으며 동시에 Mac에 처음으로 도전하는 날이었다.
왜 개발자들은 Mac을 쓸까 항상 궁금했었는데 비록 짧은 시간이었지만 이것 저것 설정해보니 조금은 납득할 수 있었다.

여전히 나에겐 윈도우보다 어려운 환경이지만 확실히 운영체제가 유닉스 기반이라 그런지
ssh 키 생성 포함 기타 설정들이 비교적 간소화되어있다는 게 느껴졌다.
어렵지만 단순해...하지만 역시 어려워..ㅠㅠㅠㅠ

그래도 제일 중요하면서도 어려운 단계인 초기 설정를 통해 오늘 하루 정말 많은 걸 배웠다.
이렇게 부딪히고 겪은 것들은 계속해서 내것으로 만들어 나가자!

profile
Learn From Yesterday, Live Today, Hope for Tomorrow

0개의 댓글