반응형

Node.js를 설치하기 위한 가장 쉬운 방법은 공식사이트인 http://www.nodejs.org 에서 설치 파일을 받는 것이겠지만, 이 방법은 두 가지 큰 단점을 가지고 있습니다.

첫째, 기본적으로 /usr/local에 설치가 되므로 관리자 권한이 없이는 제대로 실행되지 않습니다. 특히 -g 옵션을 줘서 global로 모듈을 설치할 때 마다 sudo를 해줘야 하는 불편함이 따릅니다. 물론 /usr/local 자체의 퍼미션을 변경하는 방법도 있지만, 보안상 권장하진 않습니다.

둘째, 노드의 여러 버전을 관리할 수가 없습니다. 프로젝트 별로 다른 버전을 써야 할 경우나, 여 러 노드 버전에 맞춰 테스트를 해야 할 때 매우 불편합니다.

Homebrew를 사용하여 설치하는 방법도 있지만, El Capitan에서 새로 추가된 SIP(System Integrity Protection) 때문에 권한 문제가 발생할 때가 종종 있어서, 이 글에서는 제외시켰습 니다.

기존에 이미 노드를 설치하셨다면,

노드는 깔끔하게 삭제하기가 매우 어렵습니다. 아래의 방법으로 삭제하시기 바랍니다. (참고 자 료: http://benznext.com/completely-uninstall-node-js-from-mac-os-x/)

1. /usr/local/lib 에 있는 node와 node_modules를 삭제

2. /usr/local/include 에 있는 node와 node_modules를 삭제

3. Homebrew로 설치하셨다면, brew uninstall node를 실행

4. ~/local 또는 ~/lib 또는 ~/include 디렉토리 밑에 존재하는 node와 node_modules 삭 제

5. /usr/local/bin 에 있는 node 관련 실행파일들 삭제 

 

추가로, 필요에 따라 아래 명령어들을 실행하시면 됩니다. (다른 파일까지 삭제하지 않도록 주 의!)

1. sudo rm /usr/local/bin/npm

2. sudo rm /usr/local/share/man/man1/node.1

3. sudo rm /usr/local/lib/dtrace/node.d

4. sudo rm -rf ~/.npm

5. sudo rm -rf ~/.node-gyp

6. sudo rm /opt/local/bin/node

7. sudo rm /opt/local/include/node

8. sudo rm -rf /opt/local/lib/node_modules

 

nvm 설치하기

그럼, nvm(Node Version Manager)을 사용하여 노드를 설치하는 방법을 알아보겠습니다. 먼저 터미널에서 아래의 명령어를 입력해 nvm을 설치합니다.

$ curl https://raw.githubusercontent.com/creationix/nvm/v0.30.2/install.sh | bash 그 다음, 쉘을 재시작하거나, 아래의 명령어를 실행합니다.

$ source ~/.bash_profile 제대로 설치되었는지 확인해 볼 수 있습니다.

$ nvm --version

 

Node.js 설치하기

가장 최신의 stable 버전을 설치하려면, 다음과 같이 실행하면 됩니다. $ nvm install stable 혹은, 원하는 특정 버전을 설치하려면, $ nvm install v5.5.0 이런 식으로 실행하시면 됩니다.

설치할 수 있는 버전 목록을 보려면 다음과 같이 실행합니다.

$ nvm ls-remote 여러 버전의 노드를 설치하셨다면, 아래의 명령어로 원하는 버전으로 전환할 수 있습니다. $ nvm use v4.2.6

 

테스트

시험삼아 grunt-cli를 설치해보면 sudo 필요없이 설치가 되는 것을 볼 수 있습니다. 

$ npm install -g grunt-cli

 

2020/05/29 - [OS/Mac OS X] - iPhone SDK location on hard drive

2020/05/29 - [iOS/Objective-C] - NSString <-> CBUUID 변환

2020/05/29 - [개발노트] - HTTP Content-Type

2020/05/28 - [iOS/Swift] - SEED 블록암호 알고리즘 CBC (Cipher Block Chaining) 예제

2020/05/28 - [개발노트] - HMAC SHA256

2020/05/26 - [iOS/Swift] - Array <-> Data 변환

2020/05/25 - [분류 전체보기] - UserAgent 추가

2020/05/25 - [iOS/Swift] - RSA 암호화 / 복호화

2020/05/25 - [iOS/Swift] - Base64 인코딩/디코딩

2020/05/19 - [AI/Algorithm] - Generic algorithm

2020/05/19 - [AI/Algorithm] - neural network

2020/05/19 - [AI/Algorithm] - minimax full search example

2020/05/19 - [AI/Algorithm] - minimax, alpha-beta pruning

2020/05/19 - [iOS/Tips] - Bitbucket Carthage 사용

2020/05/19 - [iOS/Jailbreak] - Fridump 사용법 (3/3) - 메모리 덤프

반응형

'개발 > Note' 카테고리의 다른 글

gdb 사용  (0) 2020.05.19
gdb 설치  (0) 2020.05.19
UUID의 구성 요소  (0) 2020.05.19
Storyboard References (스토리보드 분리)  (0) 2020.05.18
Symbolic Link  (0) 2020.05.18
블로그 이미지

SKY STORY

,