이 영역을 누르면 첫 페이지로 이동
일반인의 웹 개발일기 블로그의 첫 페이지로 이동

일반인의 웹 개발일기

페이지 맨 위로 올라가기

일반인의 웹 개발일기

웹 개발과 관련된 모든 이야기

[AWS] EC2에서 Node.js, npm, yarn 패키지 설치하는 방법 (nvm)

  • 2023.12.06 16:08
  • 개발 이야기/AWS (Amazon Web Services)
반응형

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쪽 보면 버전들이 나와있으니 다른 버전을 원하면 아래 링크에서 버전을 선택하면 된다.

 

GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions - GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active nod...

github.com

 

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  (0) 2024.01.25
[AWS] EC2 NGINX에 무료 SSL/TLS 적용하고 HTTPS로 리다이렉트(Redirect) 하기 - Let's Encrypt (Certbot)  (0) 2024.01.16
[AWS] EC2 NGINX 설치하고 Config설정 및 배포하기  (0) 2024.01.16
[AWS] EC2 무료 SSL/TLS(HTTPS)적용 방법 (Apache Tomcat, Spring Boot 내장 Tomcat 적용) - Let's Encrypt (Certbot)  (0) 2023.11.02

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [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
다른 글 더 둘러보기

정보

일반인의 웹 개발일기 블로그의 첫 페이지로 이동

일반인의 웹 개발일기

  • 일반인의 웹 개발일기의 첫 페이지로 이동
반응형

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (47)
    • 사이드 프로젝트 (3)
      • 크롤링 (2)
    • 개발 이야기 (18)
      • MSA (7)
      • Spring Boot (3)
      • JPA (0)
      • Docker (1)
      • Javascript (2)
      • AWS (Amazon Web Services) (5)
      • Jenkins (0)
    • Database (4)
      • PostgreSQL (2)
      • MySQL (1)
      • Oracle (1)
    • 에러 정리 (4)
      • Docker (1)
      • JPA (1)
      • Python (1)
      • PostgreSQL (1)
    • 운영체제 (3)
      • Linux (3)
    • 게임 (8)
      • 마인크래프트(Minecraft) (2)
      • 팰월드(PalWorld) (6)
    • 워킹홀리데이 (6)
      • 일본 워킹 홀리데이 (6)

공지사항

인기 글

최근 글

정보

흔하디흔한개발자의 일반인의 웹 개발일기

일반인의 웹 개발일기

흔하디흔한개발자

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © 흔하디흔한개발자. Designed by Fraccino.

티스토리툴바