[AWS] EC2에서 Node.js, npm, yarn 패키지 설치하는 방법 (nvm)
AWS EC2 사용 중인데 백엔드 개발자지만 프론트엔드도 같이 하느라
리액트 프로젝트를 배포할 일이 생겨서 서버에 여러 설정들을 했다.
리액트를 배포하기 위해 Node.js를 설치하고 npm을 사용하려고 한다.
1. NVM 설치하기
1-1. curl 설치
curl이 설치되어 있지 않다면 아래 명령어로 설치한다.
yum install curl
1-2. nvm 설치
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 13226 100 13226 0 0 406k 0 --:--:-- --:--:-- --:--:-- 416k
=> Downloading nvm from git to '/root/.nvm'
=> '/root/.nvm'에 복제합니다...
remote: Enumerating objects: 278, done.
remote: Counting objects: 100% (278/278), done.
remote: Compressing objects: 100% (245/245), done.
remote: Total 278 (delta 33), reused 100 (delta 20), pack-reused 0
오브젝트를 받는 중: 100% (278/278), 142.40 KiB | 5.70 MiB/s, 완료.
델타를 알아내는 중: 100% (33/33), 완료.
=> Compressing and cleaning up git repository
=> Appending nvm source string to /root/.bashrc
=> Appending bash_completion source string to /root/.bashrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
tag쪽 보면 버전들이 나와있으니 다른 버전을 원하면 아래 링크에서 버전을 선택하면 된다.
1-3. nvm 활성화
. ~/.nvm/nvm.sh
1-4. nvm 버전 확인
자신이 설치한 버전이 제대로 나오면 성공😊
nvm --version
2. Node.js 설치하기
2-1. Node.js LTS 설치
최신 버전 중 장기로 지원해 주는 LTS 버전으로 설치한다.
nvm install --lts
그런데 오류 발생...😢
Installing latest LTS version.
Downloading and installing node v20.10.0...
Downloading https://nodejs.org/dist/v20.10.0/node-v20.10.0-linux-x64.tar.xz...
############################################################################################################################ 100.0%
Computing checksum with sha256sum
Checksums matched!
node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
nvm is not compatible with the npm config "prefix" option: currently set to ""
Run `nvm use --delete-prefix v20.10.0` to unset it.
해당 오류는 GLIBC 버전을 업데이트하면 된다고 했지만 결국 해결되지 않았다.
다른 해결책으로 Node.js의 버전을 변경하기로 했다.
우선 어떤 버전으로 설치를 진행할지 리스트를 확인했다.
nvm ls-remote
쭉 리스트가 나오는데 내가 사용중인 ec2 리눅스와 호환되는 버전을 찾아서 진행하면 된다.
나는 16.20.2 lts 버전으로 선택했다.
nvm install v16.20.2
설치 완료!
nvm install v16.20.2
Downloading and installing node v16.20.2...
Downloading https://nodejs.org/dist/v16.20.2/node-v16.20.2-linux-x64.tar.xz...
############################################################################################################################ 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v16.20.2 (npm v8.19.4)
만약 계속해서 오류가 발생한다면 위에서 설치했던 최신버전을 지워주자. (어떤 버전이 설치되었었는지 확인필요)
nvm uninstall v20.10.0
그리고 내가 설치한 버전을 사용하도록 하고
현재 세션에만 해당되므로 지속적으로 사용하기 위해 기본값으로 설정한다.
nvm use v16.20.2
nvm alias default v16.20.2
2-2. npm 버전 확인
위 내용대로 잘 설치했다면 npm도 설치되었다. (Node.js와 같이 설치됨)
npm -v
3. yarn 패키지 설치하기
3-1. yarn 설치
yarn 설치는 필수는 아닌데 필요하다면 설치하자.
npm install yarn -g
3-2. yarn 버전 확인
버전이 잘 나온다면 설치 완료!
yarn -v
4. 그 외 부가적인 내용
4-1. 의존성 패키지 설치
리액트 프로젝트 폴더에서 아래 명령어를 통해 의존성 패키지들을 설치한다.
npm install
yarn install
4-2. 서버 실행
npm start
yarn start
백그라운드에서 실행하기 위해 nohup을 사용한다.
# 로그를 남기지 않기
nohup yarn start >> /dev/null &
# 로그를 원하는 폴더에 남기기
nohup yarn start >> /project/logs/backoffice/info.log &
EC2 사용 중인 사람들에게 많은 도움이 되었으면 좋겠다.
'개발 이야기 > AWS (Amazon Web Services)' 카테고리의 다른 글
댓글
이 글 공유하기
다른 글
-
[AWS] EC2 Abuse Report 대응 및 해결 방법 - AWS EC2 Instance Connect
[AWS] EC2 Abuse Report 대응 및 해결 방법 - AWS EC2 Instance Connect
2024.01.25 -
[AWS] EC2 NGINX에 무료 SSL/TLS 적용하고 HTTPS로 리다이렉트(Redirect) 하기 - Let's Encrypt (Certbot)
[AWS] EC2 NGINX에 무료 SSL/TLS 적용하고 HTTPS로 리다이렉트(Redirect) 하기 - Let's Encrypt (Certbot)
2024.01.16 -
[AWS] EC2 NGINX 설치하고 Config설정 및 배포하기
[AWS] EC2 NGINX 설치하고 Config설정 및 배포하기
2024.01.16 -
[AWS] EC2 무료 SSL/TLS(HTTPS)적용 방법 (Apache Tomcat, Spring Boot 내장 Tomcat 적용) - Let's Encrypt (Certbot)
[AWS] EC2 무료 SSL/TLS(HTTPS)적용 방법 (Apache Tomcat, Spring Boot 내장 Tomcat 적용) - Let's Encrypt (Certbot)
2023.11.02