2015년 2월 26일 목요일

node.js를 제대로 설치해서 yeoman, bower, grunt 설치시 발생하는 permission 문제 해결하기(ubuntu)

node.js를 sudo permission으로 설치하면, 나중에 Yeoman, Bower, Grunt등을 설치할 때 permission 문제가 발생하여 곤란을 겪을 수 있다.
여러 가지 방법을 찾아보고 실행해 본 결과, 가장 좋은 방법은 node.js를 설치 시에 'sudo' permission이 아니라 일반 계정의 permission으로 설치를 하는 것이다. 그 방법은 아래의 순서와 같다.

1. 기존에 이미 node.js가 설치되어 있는 경우 제거를 먼저한다.
1.1 기존 npm module들의 제거
/home/user_account# pm ls -gp | awk -F/ '/node_modules/ && !/node_modules.*node_modules/ {print $NF}' | xargs npm -g rm

1.2 기존 node.js 제거
/home/user_account# cd /usr/local
/usr/local# sudo rm -r bin/node bin/npm include/node lib/node_modules share/man/man/node.1
/usr/local# cd ~
/home/user_account# rm -r .npm

2. node.js를 사용자 계정으로 설치하기
2.1 nvm 설치
/home/user_account# curl https://raw.githubusercontent.com/creationix/nvm/v0.23.3/install.sh | bash
또는
/home/user_account# wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.23.3/install.sh | bash

<참고: Windows의 경우>
1. curl windows버전 설치: curl 다운로드 사이트에서 windows-generic 중 SSL과 SSH를 지원하는 것을 선택하여 link된 사이트를 통해 다운 받기, 이후 시스템 변수 PATH에 curl.exe 위치를 추가해야 함
2. nvm windows 버전 설치: https://github.com/coreybutler/nvm-windows를 통해 설치


2.2 nvm을 이용하여 sudo permission없이 node.js 설치 (node.js version이 0.10.35라고 가정 - 2015.2.26 최신 버전)
/home/user_account# nvm install 0.10.35
프로세서의 architecture로 32 bit나 64 bit를 명시하려면 아래와 같이 추가한다. (64bit의 예)
/home/user_account# nvm install 0.10.35 64


2.3. 사용자 계정이 activation될 때 node.js도 activation되도록 설정하기
사용자 계정의 .bashrc 파일에 nvm use v0.10.35를 추가하고 아래와 같이 .bashrc를 실행시킨다.
/home/user_account# . .bashrc


Reference
1. http://stackoverflow.com/questions/16151018/npm-throws-error-without-sudo
2. http://achinth.com/post/58262164061/uninstalling-node-js-from-ubuntu
3. http://askubuntu.com/questions/507684/trying-to-install-yeoman-on-ubuntu-to-use-with-nodejs-and-npm

댓글 없음: