본문 바로가기

AWS/AWS Lambda

[AWS Lambda] 로컬 환경 구축(node.js + serverless) - macOS

환경이 맥으로 바뀐 관계로.. 로컬 환경을 다시 구축하고자 한다.

 

AWS Lambda 서버를 프로비저닝 또는 관리하지 않고도 코드를 실행할 수 있는 이벤트 중심의 컴퓨팅 서비스이다.

자세한 설명은 아마존 공식 홈페이지의 설명을 참고하면 된다.

 

터미널 실행

 

⌘+space로 spotlight를 실행하여 터미널을 검색한 후 실행한다.

 

 

homebrew 설치 (이미 있다면 node.js 설치로 내려가기!)

homebrew는 Apple이나 linux 시스템에서 제공하지 않는 패키지 관리자를 제공한다. 그냥 터미널에서 nodejs를 설치하기 위해 설치한다고 이해했다.

 

여기를 참고하여 homebrew를 설치했다.

들어가기 귀찮다면 아래 코드 복붙!

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

 

나는 sudo 권한을 check하기 위해 password를 따로 입력했지만 "==> This script will install:"부터 맨 아랫줄까지만 나와도 정상적으로 명령어가 입력된 것.

 

Press RETURN/ENTER to continue or any other key to abour 문구가 나오면 return(엔터)키를 누른다.

뭔가 열심히 나오다가 갑자기 warning이 떴다.

"Warning: /opt/homebrew/bin is not in your PATH.

  Instructions on how to configure your shell for Homebrew

  can be found in the 'Next steps' section below."

환경변수를 설정해주어야 하는 것 같다.

당황하지 않고 여기서 얘기해주는 대로 "==> Next steps"를 참고하면 된다.

여기서 친절하게 얘기해주는대로 echo부터 아래까지 복붙 후 return키 누르기.

 

nvm 설치.. 하려다가 아무생각없이 npm을 설치함

brew 명령어를 이용하여 nvm 설치라고 써놓고 

 

..?

그냥 냅다 npm 설치하기

 

여기서 npm이 뭐냐면

자바스크립트 프로그래밍 언어를 위한 패키지 관리자이다.

자바스크립트 런타임 환경 Node.js의 기본 패키지 관리자로, node.js기반의 모듈을 모아둔 집합이다.

(node.js는 JavaScript 기반으로 구성된 서버 사이드 서비스를 JavaScript로 구현할 수 있게 만든 런타임)

 

다운로드되는 모습을 보니까 디펜던시를 열심히 설치하더니 마지막에는 node까지 알아서 설치해줘버렸다.

있나없나 보고 최신 버전을 다운받아주나보다.

 

그래서 난데없이 18.9.0버전을 다운받아 버렸다.

 

혹시 npm까지는 필요 없다 하시면 

그냥 

brew update
brew install nvm

이렇게만 치시고

nvm -v

로 설치 버전을 확인하신 후

// 설치 가능한 node.js 버전 확인
nvm ls-remote
// 설치하고 싶은 node.js 버전 선택하여 install
nvm install 18.9.0

이렇게 설치하면 된다.

 

아마존 공식 문서를 참고해보면 node.js runtimes에 12 14 16 버전을 지원한다고 써있다

그리고 이전에 이미 작성한 람다 함수가 node 런타임이 12였으므로.. 그리고 위키에 따르면 유지보수 LTS가 12버전이므로 다운그레이드 해주기로 한다.

 

혹시 중간에 "zsh: command not found: nvm"문구가 보인다면

vim ~/.zshenv

vim은 vi 호환 텍스트 편집기이다.

.zshenv라는 파일에서 PATH를 관리하는 것 같다.

아무튼 위 명령어로 .zshenv파일을 vim 편집기로 열어서

export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"  # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion

이렇게 수정해준다.

 

:wq!를 입력하여 수정 저장 후 편집기를 종료하고

 

// source 명령어: 스크립트 파일을 수정한 후 수정된 값을 바로 적용하기 위해 사용하는 명령어
source ~/.zshenv

이렇게 적용하여 nvm 명령어를 확인해보면

% nvm --version
0.39.1

이런 형태로 잘 실행된다.

 

나는 12.22.12버전을 설치했다.

 

% nvm install 12.22.12

// 설치 완료 후 확인
% node -v
v12.22.12

버전 확인까지 잘 했고! 이제 드디어 serverless 설치!

 

serverless 설치

공식 문서를 참고했다.

npm install -g serverless

설치 완료 후

% sls -v
Framework Core: 3.22.0
Plugin: 6.2.2
SDK: 4.3.2

위의 sls -v 명령어로 확인했을 때 위와 같이 출력되면 설치가 잘 된 것이다.

 

로컬에서 람다 함수를 생성하는 부분은 다음에 새로운 함수를 생성하게 되면 따로 작성하겠다.

'AWS > AWS Lambda' 카테고리의 다른 글

[AWS Lambda] 로컬 환경 구축(node.js + serverless) - Windows  (0) 2022.09.05