개발/node.js

SPDY 테스팅 서버 node.js 세팅시 error 해결법

신매력 2012. 11. 26. 18:37

SPDY 프로토타이핑 하려고 하는데

node.js가 가장 해보기 쉽다고?해서 아래 사이트를 보고 따라해보았다.

http://oddpoet.net/blog/2012/05/22/spdy-testing-environment/ 

 

여러가지 난관이 있었음.

난 세팅이 무서움 ㅋㅋㅋㅋㅋㅋ




1. wget 명령어 없을 때(파일 다운로드)


curl 로 대체해서 쓸 수 있다. 

curl로 안되면 curl -O http://.........  이렇게 쓴다.


* 참고

나는 Mac 서버에 세팅을 했었는데 curl -O ftp://ftp.,... 에 접속이 안되었다

curl -O http:www.... 로 들어가서 받아도 되는데 파일명이 미세하게 좀 달라서(버전이 붙어있음),

내컴터(윈도) 에서 다운로드 받고, ftp 프로그램으로 Mac 서버에 올렸음 



2. make, make depend 명령어가 없을 때


make, make depend 를 쓸 수 있도록 세팅해줘야한다.

make 명령어를 설치하려면 

Mac 서버의 경우 xCode를 이용하면 간편함. 설정에서 command line을 인스톨한다.

make depend는 xCode를 통해 설치할 수 없는데,

Mac port를 설치하고 install 명령어로 받을 수 있다.


리눅스는 안해봐서.. 검색 ㄱㄱ ㅋㅋ



3. make 혹은 make install 이 실행안되고 에러 날 때


permission이 제한된 곳에 수행하는 경우가 많기 때문에

명령어 앞에 sudo를 붙인다.



4. 이미 node.js가 세팅이 되어있었던 경우 (make에서 아마 에러가 날것임)


node.js를 설치할 때 설정을 따로 안해주면

루트디렉토리 / usr / local 에 깔리게 된다..


저 위에 블로그에서 기존 node.js가 있어도 다시 받으래서

다시 받아보니 기존것과 충돌이 났다.

그래서 설정을 덮어쓰기 해야한다.



./Configure \

--openssl-includes=$HOME/local/include \

--openssl-libpath=$HOME/local/lib \

--prefix=/usr/local


make

sudo make install 




5. node app.js 실행시 아래와 같은 에러 발생 



 Module version mismatch. Expected 10, got 1.

    at Object.Module._extensions..node (module.js:490:11)

    at Module.load (module.js:356:32)

    at Function.Module._load (module.js:312:12)

    at Module.require (module.js:362:17)

    at require (module.js:378:17)

    at Object.<anonymous> (/usr/local/lib/node_modules/express-spdy/node_modules/spdy/node_modules/zlibcontext/lib/zlib.js:1:80)

    at Module._compile (module.js:454:26)

    at Object.Module._extensions..js (module.js:472:10)

    at Module.load (module.js:356:32)

    at Function.Module._load (module.js:312:12) 



node.js와 express-spdy 의 버전이 맞지 않는다는 것이다.


node.js의 최신버전을 받았었는데, spdy가 업그레이드를 안했나봄

그래서 저 블로그 그대로 node.js의 버전을 낮추어서 하니까 되었음





나를 많이 도와준 mac을 사랑하는 hagulu님께 감사드립니다 (__)