SlideShare a Scribd company logo
1 of 8
Download to read offline
Node.js 런타임 버전 관리하기
한영빈 / Youngbin Han / 韩永斌
sukso96100@gmail.com
이 발표를 하는 이유?
Node.js 로 프로젝트 새로 할 때는 이런 짓을 할 필요가 없었음.
그냥 최신버전 설치하고, 최신 버전의 런타임에서 제공하는것 기
준으로 프로젝트 하면 됨.
딱히 이전 버전을 쓸 일이 없음...
최근 선배의 소개로 웹개발 일을 시작했는데...
이미 하던 프로젝트 중간에 참여 하는 거고
수정 해야 하는 코드는 최신 버전의 런타임에서 작동이 안됨.
소스코드가 의존하는 모듈도 마찬가지...
일 때문에 이전 버전도 써야하고, 다른 플젝 때문에 최신버전도 필요.
이전 버전의 런타임도 써야하고,
최신 버전의 런타임도 써야 하는 상황.
해결방법은?
대략 2가지 정도
Node.js 런타임 버전을 관리해주는 도구를 사용
n, nvm
컨테이너로 감싸버리기
Docker, rkt, lxd
n
https://github.com/tj/n
설치하기( nodejs , npm 미리 설치 되어 있어야 함)
npm instal ‑g n
버전 목록 보이기
n
런타임 버전  6.7.0  설치 및 설정
n 6.7.0
런타임 최신버전 설치 및 설정
n latest
nvm
https://github.com/creationix/nvm
설치
curl ‑o‑ https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bas
export NVM_DIR="$HOME/.nvm"
[ ‑s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
최신 버전 런타임 설치
nvm install node
최신 버전 런타임 사용 설정
nvm use node
Docker
Dockerfile
FROM node:<version‑tag>
정리
잠깐 런타임 버전 바꿔서 테스트 하는 경우 :  n  사용합시다.
프로덕션에 배포시 특정 버전이 필요한 경우 : Docker 씁시다.

More Related Content

What's hot

[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
MinGeun Park
 
[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법
[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법
[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법
MinGeun Park
 

What's hot (20)

Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기
Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기
Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기
 
Qt Creator에 Point Grey 카메라 연동하기
Qt Creator에 Point Grey 카메라 연동하기Qt Creator에 Point Grey 카메라 연동하기
Qt Creator에 Point Grey 카메라 연동하기
 
Sccc 서버 사용내역
Sccc 서버 사용내역Sccc 서버 사용내역
Sccc 서버 사용내역
 
Qt Creator에 OpenCV 연동하기
Qt Creator에 OpenCV 연동하기Qt Creator에 OpenCV 연동하기
Qt Creator에 OpenCV 연동하기
 
Git로 협업하기
Git로 협업하기Git로 협업하기
Git로 협업하기
 
레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화
 
Subversion
SubversionSubversion
Subversion
 
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
 
Qt 5.10.0 개발환경 구축하기
Qt 5.10.0 개발환경 구축하기Qt 5.10.0 개발환경 구축하기
Qt 5.10.0 개발환경 구축하기
 
[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법
[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법
[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법
 
오픈소스가이드 win,c++
오픈소스가이드 win,c++오픈소스가이드 win,c++
오픈소스가이드 win,c++
 
Nodejs발표자료 - 팀 세미나용
Nodejs발표자료 - 팀 세미나용 Nodejs발표자료 - 팀 세미나용
Nodejs발표자료 - 팀 세미나용
 
Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차B - 가지치기와 꼬리표 달기
Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차B - 가지치기와 꼬리표 달기Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차B - 가지치기와 꼬리표 달기
Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차B - 가지치기와 꼬리표 달기
 
QT/VS 설치방법
QT/VS 설치방법QT/VS 설치방법
QT/VS 설치방법
 
오래된 프로젝트에 Jenkins 적용해보기
오래된 프로젝트에 Jenkins 적용해보기오래된 프로젝트에 Jenkins 적용해보기
오래된 프로젝트에 Jenkins 적용해보기
 
OpenCV 3.4.0 개발환경 구축하기
OpenCV 3.4.0 개발환경 구축하기OpenCV 3.4.0 개발환경 구축하기
OpenCV 3.4.0 개발환경 구축하기
 
Unity Auto Build iOS
Unity Auto Build iOSUnity Auto Build iOS
Unity Auto Build iOS
 
githubaction
githubactiongithubaction
githubaction
 
PyCon 2017 예제로 살펴보는 PyQt
PyCon 2017 예제로 살펴보는 PyQtPyCon 2017 예제로 살펴보는 PyQt
PyCon 2017 예제로 살펴보는 PyQt
 
Jenkins with Unity3d & Android
Jenkins with Unity3d & Android Jenkins with Unity3d & Android
Jenkins with Unity3d & Android
 

Viewers also liked

Git 과 GitHub 를 이용한 버전관리와 협업 - 3주차 - 코드 기여하기/기여받기, 이슈 처리하기, 지속적 통합
Git 과 GitHub 를 이용한 버전관리와 협업 - 3주차 - 코드 기여하기/기여받기, 이슈 처리하기, 지속적 통합Git 과 GitHub 를 이용한 버전관리와 협업 - 3주차 - 코드 기여하기/기여받기, 이슈 처리하기, 지속적 통합
Git 과 GitHub 를 이용한 버전관리와 협업 - 3주차 - 코드 기여하기/기여받기, 이슈 처리하기, 지속적 통합
Youngbin Han
 
자기소개
자기소개자기소개
자기소개
parkmunge
 

Viewers also liked (20)

Git 과 GitHub 를 이용한 버전관리와 협업 - 3주차 - 코드 기여하기/기여받기, 이슈 처리하기, 지속적 통합
Git 과 GitHub 를 이용한 버전관리와 협업 - 3주차 - 코드 기여하기/기여받기, 이슈 처리하기, 지속적 통합Git 과 GitHub 를 이용한 버전관리와 협업 - 3주차 - 코드 기여하기/기여받기, 이슈 처리하기, 지속적 통합
Git 과 GitHub 를 이용한 버전관리와 협업 - 3주차 - 코드 기여하기/기여받기, 이슈 처리하기, 지속적 통합
 
Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차A - 비교하기와 되돌리기
Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차A - 비교하기와 되돌리기Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차A - 비교하기와 되돌리기
Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차A - 비교하기와 되돌리기
 
자기소개(SSS발표면접)
자기소개(SSS발표면접)자기소개(SSS발표면접)
자기소개(SSS발표면접)
 
Git&GitHub 를 이용한 버전관리와 협업 - 1.첫 커밋 푸시하기
Git&GitHub 를 이용한 버전관리와 협업 - 1.첫 커밋 푸시하기Git&GitHub 를 이용한 버전관리와 협업 - 1.첫 커밋 푸시하기
Git&GitHub 를 이용한 버전관리와 협업 - 1.첫 커밋 푸시하기
 
(중국과 세계 발표)황금방패
(중국과 세계 발표)황금방패(중국과 세계 발표)황금방패
(중국과 세계 발표)황금방패
 
Slideshare font test
Slideshare font testSlideshare font test
Slideshare font test
 
제2회 SSSCON - 웹해킹 스터디 현황
제2회 SSSCON - 웹해킹 스터디 현황제2회 SSSCON - 웹해킹 스터디 현황
제2회 SSSCON - 웹해킹 스터디 현황
 
0.Before Get Started - 시온고등학교 안드로이드 스터디
0.Before Get Started - 시온고등학교 안드로이드 스터디0.Before Get Started - 시온고등학교 안드로이드 스터디
0.Before Get Started - 시온고등학교 안드로이드 스터디
 
2.Connect Sunshine to the Cloud - 시온고 안드로이드 스터디
2.Connect Sunshine to the Cloud - 시온고 안드로이드 스터디2.Connect Sunshine to the Cloud - 시온고 안드로이드 스터디
2.Connect Sunshine to the Cloud - 시온고 안드로이드 스터디
 
1.Create Project Sunshine - 시온고등학교 안드로이드 스터디
1.Create Project Sunshine - 시온고등학교 안드로이드 스터디1.Create Project Sunshine - 시온고등학교 안드로이드 스터디
1.Create Project Sunshine - 시온고등학교 안드로이드 스터디
 
한글 폰트 테스트
한글 폰트 테스트한글 폰트 테스트
한글 폰트 테스트
 
Git branch stregagy & case study
Git branch stregagy & case studyGit branch stregagy & case study
Git branch stregagy & case study
 
클라우드 컴퓨팅 & 클라우드 보안
클라우드 컴퓨팅 & 클라우드 보안클라우드 컴퓨팅 & 클라우드 보안
클라우드 컴퓨팅 & 클라우드 보안
 
파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기
 
Git - Level 2
Git - Level 2Git - Level 2
Git - Level 2
 
Git 입문자를 위한 가이드
Git 입문자를 위한 가이드Git 입문자를 위한 가이드
Git 입문자를 위한 가이드
 
Git&GitHub 를 이용한 버전관리와 협업 - 2.비교하기와 되돌리기
Git&GitHub 를 이용한 버전관리와 협업 - 2.비교하기와 되돌리기Git&GitHub 를 이용한 버전관리와 협업 - 2.비교하기와 되돌리기
Git&GitHub 를 이용한 버전관리와 협업 - 2.비교하기와 되돌리기
 
svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드
 
Git 사용법 공유 + Unity3D with git
Git 사용법 공유 + Unity3D with gitGit 사용법 공유 + Unity3D with git
Git 사용법 공유 + Unity3D with git
 
자기소개
자기소개자기소개
자기소개
 

Similar to Node.js 런타임 버전 관리하기

Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012
Daum DNA
 
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
Jinuk Kim
 

Similar to Node.js 런타임 버전 관리하기 (20)

Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012Javascript everywhere - Node.js | Devon 2012
Javascript everywhere - Node.js | Devon 2012
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page Application
 
NPM Library Deploy
NPM Library DeployNPM Library Deploy
NPM Library Deploy
 
[IoT] MAKE with Open H/W + Node.JS - 3rd
[IoT] MAKE with Open H/W + Node.JS - 3rd[IoT] MAKE with Open H/W + Node.JS - 3rd
[IoT] MAKE with Open H/W + Node.JS - 3rd
 
Softcon_하재권_Only javascript의 하이브리드 앱서버 도전기
Softcon_하재권_Only javascript의 하이브리드 앱서버 도전기Softcon_하재권_Only javascript의 하이브리드 앱서버 도전기
Softcon_하재권_Only javascript의 하이브리드 앱서버 도전기
 
Java, android 스터티9
Java, android 스터티9Java, android 스터티9
Java, android 스터티9
 
Vue 뽀개기 1장 환경설정 및 spa설정
Vue 뽀개기 1장 환경설정 및 spa설정Vue 뽀개기 1장 환경설정 및 spa설정
Vue 뽀개기 1장 환경설정 및 spa설정
 
Node.js intro
Node.js introNode.js intro
Node.js intro
 
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
 
d2_5th_나눔 프로젝트 설명서
d2_5th_나눔 프로젝트 설명서d2_5th_나눔 프로젝트 설명서
d2_5th_나눔 프로젝트 설명서
 
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
 
빌드관리 및 디버깅 (2010년 자료)
빌드관리 및 디버깅 (2010년 자료)빌드관리 및 디버깅 (2010년 자료)
빌드관리 및 디버깅 (2010년 자료)
 
모바일 크로스플랫폼 비교 - 월간슬라이드 4월
모바일 크로스플랫폼 비교 - 월간슬라이드 4월모바일 크로스플랫폼 비교 - 월간슬라이드 4월
모바일 크로스플랫폼 비교 - 월간슬라이드 4월
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기
 
Project anarchy로 3 d 게임 만들기 part_1
Project anarchy로 3 d 게임 만들기 part_1Project anarchy로 3 d 게임 만들기 part_1
Project anarchy로 3 d 게임 만들기 part_1
 
Spring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCodeSpring Boot + React + Gradle in VSCode
Spring Boot + React + Gradle in VSCode
 
Java, android 스터티10
Java, android 스터티10Java, android 스터티10
Java, android 스터티10
 
GIT_GETCHA_HANJUNG
GIT_GETCHA_HANJUNGGIT_GETCHA_HANJUNG
GIT_GETCHA_HANJUNG
 
Introduce Yeoman
Introduce YeomanIntroduce Yeoman
Introduce Yeoman
 
Node.js in Flitto
Node.js in FlittoNode.js in Flitto
Node.js in Flitto
 

More from Youngbin Han

More from Youngbin Han (18)

Ubucon Europe and Asia
Ubucon Europe and AsiaUbucon Europe and Asia
Ubucon Europe and Asia
 
우분투 아시아 컨퍼런스 바닥에서 시작하기
우분투 아시아 컨퍼런스 바닥에서 시작하기우분투 아시아 컨퍼런스 바닥에서 시작하기
우분투 아시아 컨퍼런스 바닥에서 시작하기
 
Automating boring and repetitive UbuCon Asia video and subtitle stuffs
Automating boring and repetitive UbuCon Asia video and subtitle stuffsAutomating boring and repetitive UbuCon Asia video and subtitle stuffs
Automating boring and repetitive UbuCon Asia video and subtitle stuffs
 
Engaging new l10n contributors through Open Source Contributhon
Engaging new l10n contributors through Open Source ContributhonEngaging new l10n contributors through Open Source Contributhon
Engaging new l10n contributors through Open Source Contributhon
 
Introduction to Hanjp-IM Project (DebConf18 - Hsinchu, Taiwan)
Introduction to Hanjp-IM Project (DebConf18 - Hsinchu, Taiwan)Introduction to Hanjp-IM Project (DebConf18 - Hsinchu, Taiwan)
Introduction to Hanjp-IM Project (DebConf18 - Hsinchu, Taiwan)
 
What's new in Ubuntu 18.04 LTS
What's new in Ubuntu 18.04 LTSWhat's new in Ubuntu 18.04 LTS
What's new in Ubuntu 18.04 LTS
 
Naver Campus Hackday Winter 2017 참가 후기
Naver Campus Hackday Winter 2017 참가 후기Naver Campus Hackday Winter 2017 참가 후기
Naver Campus Hackday Winter 2017 참가 후기
 
우분투한국커뮤니티 2017년 활동보고
우분투한국커뮤니티 2017년 활동보고우분투한국커뮤니티 2017년 활동보고
우분투한국커뮤니티 2017년 활동보고
 
FluxSync Team 중간보고
FluxSync Team 중간보고FluxSync Team 중간보고
FluxSync Team 중간보고
 
openSUSE.Asia Summit 2017 Tokyo 참관후기
openSUSE.Asia Summit 2017 Tokyo 참관후기openSUSE.Asia Summit 2017 Tokyo 참관후기
openSUSE.Asia Summit 2017 Tokyo 참관후기
 
How & Why we have connected Slack & IRC
How & Why we have connected Slack & IRCHow & Why we have connected Slack & IRC
How & Why we have connected Slack & IRC
 
SKHUFEEDS 소개 발표자료(노트 포함)
SKHUFEEDS 소개 발표자료(노트 포함)SKHUFEEDS 소개 발표자료(노트 포함)
SKHUFEEDS 소개 발표자료(노트 포함)
 
SKHUFEEDS 소개 발표자료
SKHUFEEDS 소개 발표자료SKHUFEEDS 소개 발표자료
SKHUFEEDS 소개 발표자료
 
Snaps on Ubuntu Desktop
Snaps on Ubuntu DesktopSnaps on Ubuntu Desktop
Snaps on Ubuntu Desktop
 
How and why we have integrated Slack and IRC
How and why we have integrated Slack and IRCHow and why we have integrated Slack and IRC
How and why we have integrated Slack and IRC
 
Ubuntu's Unity - Birth to Death(in 5minutes)
Ubuntu's Unity - Birth to Death(in 5minutes)Ubuntu's Unity - Birth to Death(in 5minutes)
Ubuntu's Unity - Birth to Death(in 5minutes)
 
Jekyll and GitHub Pages
Jekyll and GitHub PagesJekyll and GitHub Pages
Jekyll and GitHub Pages
 
Git&GitHub 를 이용한 버전관리와 협업 - 4.협업과 지속적 통합
Git&GitHub 를 이용한 버전관리와 협업 - 4.협업과 지속적 통합Git&GitHub 를 이용한 버전관리와 협업 - 4.협업과 지속적 통합
Git&GitHub 를 이용한 버전관리와 협업 - 4.협업과 지속적 통합
 

Node.js 런타임 버전 관리하기