맥(Mac) 개발 환경 구축(3) - 개발 환경

2023-02-10 hit count image

새로운 맥(Mac)에 개발 환경을 구축하려고 합니다. 지금 현재 개발에 사용하고 개발 환경을 설정하는 방법에 대해서 설명합니다.

개요

맥(Mac)에 새롭게 개발 환경을 구축하고 있습니다. 이 블로그에서는 개발 환경을 구성하는 방법에 대해서 정리합니다.

이 블로그는 연재물입니다. 개발 환경에 다른 부분을 확인하고 싶으신 분들은 아래에 내용을 참고하세요.

homebrew

맥(Mac)에서 가장 중요한 패키지 관리자인 homebrew를 아래에 명령어로 설치합니다.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

아래에 명령어로 zsh 설정 파일을 엽니다.

code ~/.zshrc

설정 파일 하단에 아래에 내용을 추가합니다.

export PATH=/usr/local/bin:/usr/local/sbin:$PATH

python3

맥(Mac)에는 기본적으로 python2가 설치되어 있습니다. 개발에 필요한 python3를 설치하고 zsh에 python3을 기본으로 설정하겠습니다.

zsh(iTerm)를 재실행하고 아래에 명령어로 python3를 설치합니다.

brew install python3

zsh 설정 파일 하단에 아래에 내용을 추가하여 python3을 기본으로 설정합니다.

# code ~/.zshrc
alias python=python3

아래에 명령어로 pip를 설치합니다.

sudo easy_install pip

파이썬(python) 가상환경(Virtual Environment) 관리를 도와주는 모듈인 virtualenv을 아래에 명령어로 설치합니다.

pip install virtualenv pylint autopep8

zsh 설정 파일에 아래와 같이 설정하여 가상환경(Virtual Environment)에 접속중인지 확인할 수 있게 설정합니다.

# code ~/.zshrc
...
# python virtualenv
plugins=(virtualenv)
...
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(virtualenv dir_writable dir vcs)
...

git flow

아래에 명령어로 git flow를 설치합니다.

brew install git-flow

node / npm

아래에 링크를 눌러 node를 다운로드 및 설치합니다.

react native

이전에 RN(React Native) 설치에 관한 블로그를 작성하였습니다. 아래에 링크를 확인하여 설치합니다.

Laravel

맥(Mac)은 기본적으로 php가 설치되어 있습니다. 아래에 명령어로 composer를 설치합니다.

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin/

zsh 설정 파일 하단에 아래에 내용을 추가합니다.

# code ~/.zshrc
alias composer="php /usr/local/bin/composer.phar"

아래에 명령어로 권한을 변경합니다.

sudo chmod 755 /Users/$USER/.composer/

아래에 명령어로 Laravel을 설치합니다.

composer global require laravel/installer

zsh 설정 파일을 열고 아래에 내용을 추가합니다.

# code ~/.zshrc
export PATH="$HOME/.composer/vendor/bin:$PATH"

mysql 설치

아래에 명령어로 mysql을 설치합니다.

brew install [email protected]

zsh 설정 파일을 열고 아래에 내용을 추가합니다.

# code ~/.zshrc
export PATH="/usr/local/opt/[email protected]/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/[email protected]/lib"
export CPPFLAGS="-I/usr/local/opt/[email protected]/include"

아래에 명령어로 mysql 서버를 실행합니다.

mysql.server start

아래에 명령어를 통해 mysql 설정을 진행합니다.(패스워드 설정 등)

mysql_secure_installation

jekyll

이전에 jekyll 설치에 관한 블로그를 작성하였습니다. 아래에 링크를 확인하여 설치합니다.

zsh 설정 파일

아래는 zsh 설정 파일의 내용입니다.


# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH

# Path to your oh-my-zsh installation.
export ZSH="/Users/dev-yakuza/.oh-my-zsh"

# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="powerlevel9k/powerlevel9k"

# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in ~/.oh-my-zsh/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )

# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"

# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"

# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"

# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13

# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"

# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"

# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"

# Uncomment the following line to display red dots whilst waiting for completion.
# COMPLETION_WAITING_DOTS="true"

# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"

# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"

# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder

# Which plugins would you like to load?
# Standard plugins can be found in ~/.oh-my-zsh/plugins/*
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git)

source $ZSH/oh-my-zsh.sh

# python virtualenv
plugins=(virtualenv)

# User configuration

# export MANPATH="/usr/local/man:$MANPATH"

# You may need to manually set your language environment
# export LANG=en_US.UTF-8

# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
#   export EDITOR='vim'
# else
#   export EDITOR='mvim'
# fi

# Compilation flags
# export ARCHFLAGS="-arch x86_64"

# ssh
# export SSH_KEY_PATH="~/.ssh/rsa_id"

# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"

# remove user name in zsh
# prompt_context(){}
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(virtualenv dir_writable dir vcs)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status time battery)

# vscode code command
export PATH="$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"
# brew path
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
# python3 default
alias python=python3
alias pip=pip3
# composer
alias composer="php /usr/local/bin/composer.phar"
# Laravel
export PATH="$HOME/.composer/vendor/bin:$PATH"
# mysql
export PATH="/usr/local/opt/[email protected]/bin:$PATH"
# jekyll
export GEM_HOME=$HOME/gems
export PATH=$HOME/gems/bin:$PATH

# The next line updates PATH for the Google Cloud SDK.
source /Users/dev-yakuza/google-cloud-sdk/path.zsh.inc

# The next line enables zsh completion for gcloud.
source /Users/dev-yakuza/google-cloud-sdk/completion.zsh.inc

# Android path for React Native
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools

제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!

앱 홍보

책 홍보

블로그를 운영하면서 좋은 기회가 생겨 책을 출판하게 되었습니다.

아래 링크를 통해 제가 쓴 책을 구매하실 수 있습니다.
많은 분들에게 도움이 되면 좋겠네요.

스무디 한 잔 마시며 끝내는 React Native, 비제이퍼블릭
스무디 한 잔 마시며 끝내는 리액트 + TDD, 비제이퍼블릭
[심통]현장에서 바로 써먹는 리액트 with 타입스크립트 : 리액트와 스토리북으로 배우는 컴포넌트 주도 개발, 심통
Posts