본문 바로가기
우분투에서 NPM -> nodejs -> socket.io 순으로 설치하기. (웹채팅) #우분투
앞에 정리해 놓은 내용은 여러가지 node.js 버전을 사용할 때는 좋지만, 내가 원하는 version이 있을 떄는
별로 좋지 않은 방법같다. 여러가지 문제가 있어서, 뒷쪽 install 방법을 권장한다.


깔아보면 알겠지만, npm은 nodejs가 깔려 있어야 깔린다 쩝.
어쨌거나, NPM은 Nodejs의  Package Manager니까, NPM을 이용해서 여러가지 Package를 install할 수 있다.
그런데, 그 전에 NVM 즉 Nodejs Version Manager를 이용하면 더 적당한 Version의 nodejs를 깔 수 있으니
참고하자.

그 방법으로는,
nvm으로 Node.js 설치
 # git clone git://github.com/creationix/nvm.git ~/.nvm
# . ~/.nvm/nvm.sh
# nvm sync
# nvm install stable
# nvm use stable


이 되겠다. 이렇게 하면 가장 stable한 version의 node.js를 깔아주고,
그런 다음에 package들을 깔아줘야 겠다. (socket.io를 쓰기 위해서)
npm 자체는 다음과 같이 설치하는 데 그냥 sudo로 해서는 안되고 root를 이용해서 해야 된다.

 $ sudo -s
(root) $ curl http://npmjs.org/install.sh | sh

요렇게 설치한 후에
 # npm install socket.io
# npm install express
# npm install stylus
# npm install nib
# npm install jade
# git clone git://github.com/LearnBoost/socket.io.git
# cd socket.io/examples/chat
# node app.js


그렇다고 끝난거냐? 그건 또 아니다. 뭐가 없다면서 난리가 난다. NODE_PATH가 어쩌구 없단다.
이건 어떻게 해결하느냐. 분명히 nvm을 이용해서 깐데가 있을건데 그중 node_modules directory가
있는 곳을 찾아서 꼭 아래와 같이 추가해 줘야 module을 제대로 load 가능하다.

 export NODE_PATH=/home/hieonn/node_modules:$NODE_PATH

그렇지 않으면 이런 에러가 뜬다.


무슨 Use node_modules folders, or the NODE_PATH environment variable instead. 뭘 어쩌라고!!!
난생 처음 쓰게 되는 nodejs의 에러를 어떻게 받아들여야 할지 난감하다..


마지막으로 nodejs를 애플리케이션으로 서비스에 등록하기 방법이 있다.
 # npm install forever -g
# forever start app.js

아 그것참 쉽지 않군.
그리고, 이게 제대로 깔렸는지 확인하려면 그냥 node와 npm을 쳐보면 제대로 깔렸는지 알 수 있다.

그리고, 확실하게 node가 동작하는지 보려면
 /* helloworld.js */
var http = require('http');
 http.createServer(function(req, res) {
	res.writeHead (200, { 'Content-Type' : 'text/plain' } );
	res.end('Hello World .. !\n');
 }).listen(8887, '180.111.333.22');

 console.log('Server running at http://180.111.333.22:8887');

helloworld 파일을 만들고, 실행한 후,
 node hellworld.js

브라우저로 접속해 보면
 

 


요렇게 응답해야 정상이다. 
http://firejune.com/1683?stag=%25EC%259E%25A0%25EC%258B%25A4%253Fstag%253D%25EA%25B0%2580%25EA%25B2%25A9%25EC%25B1%2585%25EC%25A0%2595&



http://rintiantta.blog.me/40138506630




nvm이 없을 때 사람들이 권하는 방법은 아래와 같은데 참고할 만 하다.

nodejs 의 git로 부터의 설치
 $ git clone git://github.com/joyent/node.git node.git
$ cd node.git
$ git tag
$ git checkout v0.4.12  #0.4.12가 express를 쓰는 최신 stable 버전이다.
$ export JOBS=2
$ ./configure --prefix=/opt/node # 설치 위치는 각자 취향에 맞게..
$ make
$ sudo make install
$ sudo ln -s /opt/node/bin/node /usr/bin/node # 이 부분도 각자 알아서..

npm 자체는 다음과 같이 설치하는 데 그냥 sudo로 해서는 안되고 root를 이용해서 해야 된다.

 $ sudo -s
(root) $ curl http://npmjs.org/install.sh | sh


아래를 이용해서 Package를 깔아야 한다.
 # npm install socket.io
# npm install express
# npm install stylus
# npm install nib
# npm install jade
# git clone git://github.com/LearnBoost/socket.io.git
# cd socket.io/examples/chat
# node app.js



 export NODE_PATH=/home/hieonn/node_modules:$NODE_PATH

이걸 해주던가, 짱나니까,
/etc/environment 를 수정해 주면 전체 사용자에 먹히는 환경변수가 된다.



 NODE_PATH="/home/hieonn/node_modules" 

댓글