2015년 2월 26일 목요일

webstorm에서 gruntfile.js의 task load가 실패하는 문제 해결하기

앞선 글에서 다룬 바와 같이 node.js를 'sudo' permission이 아닌 일반 사용자 계정으로 설치하여 사용하고 있다.
(참고: http://dakoostech.blogspot.kr/2015/02/nodejs-yeoman-bower-grunt-permission.html)
그런데, webstorm에서 gruntfile.js의 task load가 계속 실패하는 문제가 발생했다. 외부 console에서는 'grunt serve''grunt test'가 잘 실행되는데 webstorm의 GUI로는 task load가 실패했다. 알고 보니 원인은 매우 단순한 것이다.
webstorm.sh를 바로가기로 만들어 Desktop 폴더에 놓고 마우스로 클릭하여 webstorm을 실행시켰는데 그것이 문제였다. '.bashrc'내의 nvm use v0.10.35이 activation되지 못하여 node.js가 설치 안된 것으로 인식하고, 그로 인해 당연히 grunt도 실행이 안된 것이였다.

그래서 '.bashrc'내에 아래와 같이 alias를 추가하였다.
alias webstorm='/home/user_account/[webstorm 설치 folder]/bin/WebStorm.sh'

그런 뒤에 . .bashrc를 실행하고 console에서 webstorm을 실행시켜서 사용하면 된다.
/home/user_account# . .bashrc
/home/user_account# webstorm



참고로, node.js를 일반 사용자 계정으로 설치하니, webstorm에서 node.js interpreter와 package 정보를 찾지 못하는 현상이 있었다.
이를 해결하는 방법은 WebStorm의 File>Setting에서 Languages and NPM을 선택하여 'Node Interpreter'의 위치를 잡아 주는 것이다.
nvm에 의해 설치된 node.js는 /home/user_account/.nvm아래에 설치된다. 'Node Interpreter'로 node 실행파일을 선택해 주면 자동적으로 package가 갱신된다.

댓글 없음: