티스토리 뷰
과거에 Ruby on Jets를 다룰 때 당시, Cloud9을 기준으로 설치법에 대해 소개했었는데, 이번에는 Mac OS을 기준으로 설치법을 설명해보겠습니다.
본문에서는 Ruby on Jets에 대한 자세한 설명은 생략합니다.
- rbenv 설치 및 Ruby 설치
Jets를 설치 전, AWS Lamba에서 지원되는 Ruby를 설치해줘야 할 필요가 있습니다.
20. 8. 2 기준 Ruby 버전은 2.5버전을 지원하고 있습니다.
본격적인 Ruby 설치 전에 앞서, Ruby 버전을 관리해주는 rbenv를 설치해보겠습니다.
1. homebrew를 이용해서 rbenv를 설치합니다.
brew install rbenv
2. 이제 앞으로 터미널을 킬 때 마다 rbenv가 설치된 Path를 인식해줘야 합니다. (초기화)
터미널에 아래 명령어를 입력해보세요.
rbenv init
그럼 아래와 같은 결과가 보여집니다.
# Load rbenv automatically by appending
# the following to ~/.zshrc:
eval "$(rbenv init -)"
위 말은 즉, '터미널을 킬 때 마다 rbenv가 설치된 Path' 을 가리키기 위한 코드라고 보면 됩니다.
저같은 경우네는 zsh을 쓰고있는데, 본인의 터미널 shell에 맞게 아래 명령어를 입력해주세요.
## 기본 양식
# echo 'eval "$(rbenv init -)"' >> ~/.[shell]rc
## zsh 예시
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
## bash 예시
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
- Ruby 설치
1. Lambda에서 사용이 가능한 Ruby를 설치합니다.
저는 2.5.3 버전을 설치하겠습니다.
rbenv install 2.5.3
약 5~10분 정도 지나면 rbenv가 설치되었습니다.
- Yarn, MySQL 설치
Ruby on Jets는 Yarn 및 MySQL DB를 기본으로 채택해여 동작됩니다.
그렇다보니 이를 따로 설치해줘야 할 필요가 있습니다.
1. Yarn 설치
npm install -g yarn
2. MySQL 설치 (최신버전)
brew install mysql
- Jets 설치
이제 드디어 ruby on jets를 설치 과정을 소개합니다.
1. 기존의 rails와 같이 jets 역시 하나의 Gem 입니다.
jets Gem을 설치해주세요.
gem install jets
참고 2 Mac OS에서 설치에 있어 만약 아래와 같은 에러에 봉착하게 된 경우
터미널에 아래 명령어를 입력해서 설치해주세요 :
gem install mysql2 -v '0.5.3' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include
2. jets 프로젝트를 생성해볼까요?
jets new my-project
- AWS credential 권한 설정
AWS 계정에서 credential 관련 권한은 AWS Credentials 자격증명 내용을 참고해주세요.
위 링크를 클릭 후, Chapter 1 만 따라하면 됩니다.
- AWS CLI 설치
Mac OS에서 나의 AWS 계정과 연동하기 위한 과정입니다.
AWS CLI는 후에 jets 프로젝트를 AWS Lambda로 Deploy할 때 사용됩니다.
1. homebrew를 활용해서 awscli를 설치합니다.
brew install awscli
2. awscli 설치가 끝난 후, 이전에 따라했던 AWS credential에서 얻어낸 AWS ID와 Access Key ID와 Secret Access Key를 가지고 나의 Mac OS에서 AWS 계정 설정을 해보겠습니다.
aws configure
터미널에 위 명령어를 입력하면 아래의 정보를 하나씩 묻는 터미널 input이 활성화 됩니다.
AWS Access Key ID [None]: xxx
AWS Secret Access Key [None]: yyy
Default region name [None]: ap-northeast-1
Default output format [None]: (skip; 그냥 엔터)
3. 위 정보 입력이 끝나면, 아래와 같이 새로운 디렉터리/파일 생성과 함께, 해당 파일에 나의 AWS 정보가 입력된게 확인됩니다.
- YARN : coffeescript 컴파일을 도와주는 패키지 설치
후에 Ruby on Jets의 프로젝트를 AWS Lambda로 배포함에 있어, coffeesceript(javascript)를 컴파일 과정 도중 아래와 같은 에러를 겪게될 수 있습니다.
이에대한 해결법은 coffeescript 컴파일을 도와주는 패키지를 설치하는겁니다.
yarn add @rails/webpacker coffeescript@1.12.7
- AWS Lambda에 배포
프로젝트를 Environment 환경에 따라 개별적으로 AWS Lambda로 배포할 수 있습니다.
# jets depoly [Environment]
jets depoly production
배포 후 AWS Lambda 내 구조에 대해 알고싶으신 분은 AWS Lambda 배포 글을 참고해주세요.
참고 에러 이슈
필자같은 경우는 AWS Lambda로 Deploy 도중, 아래와 같은 에러를 겪었습니다.
해당 에러에 대해 저는 아래 과정을 통해 풀어나갔습니다. :
1. openssl을 설치합니다.
참고 필자는 이미 깔려있어서 해당 과정은 넘어갔습니다.
brew install openssl
2. 라이브러리 환경변수 경로지정(export)을 해주세요.
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/
3. 이제 mysql2를 넘어서 설치 및 배포가 진행되었습니다.
- 자료 참고
2. AWS CLI 설치하기
'프로그래밍 공부 > Ruby on Jets : 서버리스 프레임워크' 카테고리의 다른 글
Ruby on Jets : Unavailable pre-compiled gems 이슈 (7) | 2022.03.27 |
---|---|
Ruby on Jets : 파일 압축 (0) | 2020.05.02 |
Ruby on Jets : 임시파일 저장/보관 (0) | 2020.05.02 |
Ruby on Jets : 배포 오류/이슈 기록 (0) | 2020.05.01 |
Ruby on Jets : AWS Credentials 자격증명 (0) | 2020.04.27 |