[AWS EC2] ubuntu 환경에서 node & npm 설치하기
ubuntu 환경에서 node & npm 설치하며 생긴 트러블슈팅을 정리한 글 입니다.
May 25, 2023
목차
AWS EC2 인스턴스를 생성하여 git clone으로 지난 프로젝트를 ubuntu 환경으로 가져왔다.
그리고 npm install을 하려고 했더니 처음에 권한 문제로 자꾸 다운로드 되지 않았다.
Command 'npm' not found, but can be installed with: sudo apt install npm
그래서 sudo apt install npm 으로 npm을 다운받으려고 하니 아래의 오류가 발생했다.
말그대로 npm package를 찾을 수 없다는 얘기였다... 흠
E: Unable to locate package npm
아래의 링크에서 알게된 결과 막 다운받은 우분투 환경을 시작할 때에는 먼저 apt 패키지를 업데이트 해야했다.
apt-get 패키지를 이용하여 node와 npm을 다운 받을 수 있었다. 아니 근데 다운 받아진 노드 버전이 한참 아래인 것이 아닌가!
왜 ubuntu에는 outdated version 의 node가 다운 받아 질까
왜 outdated version이 다운받아지는지 궁금해서 검색해보니 우분투는 시스템의 안정성과 보안성을 가장 우선으로 두기 때문에 최신 버전이 아닐 수 있다고 한다.
The reason why apt-get may download an outdated version of Node.js is that the packages in the default Ubuntu repositories are often not the latest versions. Ubuntu's package repositories prioritize stability and security over having the latest software versions.
최신 또는 lts 버전의 node와 npm을 다운 받기 위해서는 두가지 방법이 있었다.
- NodeSource Repository
- NVM (Node Version Manager)
첫번째 NodeSource Repository는 node의 공식 레포 중 하나로 최신 버전의 NodeJS를 제공한다. 다양한 우분투 버전 역시 지원하기 때문에 apt-get 패키지를 이용하여 우분투에 node를 다운받을 수 있다.
필자는 두번째 방법을 사용하기로 했다. 애초에 NVM은 노드 버전을 관리하기 위해 나온 도구이기도 하고 명령어 하나로 노드 버전을 원하는대로 바꿀 수 있다는 것이 사용하기 간편하겠다고 생각했다.
그러기 위해서는 기존에 깔려있는 node와 npm을 완전하게 삭제해야 했다.
ubuntu에서 node 삭제하기
# node와 npm 삭제 (보통 node를 삭제하면 npm도 삭제 되었다.) sudo apt-get purge nodejs --auto-remove sudo apt-get purge npm --auto-remove # node가 완전히 삭제 되었다면 아무런 경로가 나타나지 않아야 한다. whereis node # 지웠는데도 경로가 나오는 경우가 있다. 이 경우 수동으로 해당 경로의 파일을 직접 삭제해 주어야 한다.# whereis node로 검색했을 때 빈 경로가 뜰 때까지 확실하게 지워주자. sudo rm -rf /usr/local/bin/npm /usr/local/bin/node
NVM 설치하기
NVM은 아래와 같은 순서로 설치 할 수 있다.
npm은 자동으로 node 버전과 맞추어 업데이트 된다.
# NVM 설치하기curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash # 설정 값 ubuntu 환경에 바로 적용하기source ~/.bashrc # 설치 가능한 노드 버전 확인하기nvm list-remote # 노드 설치하기nvm install v20.0.0 # 설치된 노드 확인하기 (활성화 된 버전은 -> 20.0.0)nvm list
References
Share article