레이블이 permission인 게시물을 표시합니다. 모든 게시물 표시
레이블이 permission인 게시물을 표시합니다. 모든 게시물 표시

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