2011-07-02 3 views
0

node.js와 socket.io를 사용하여 무언가를 개발하고 있지만, 자신의 편의를 위해 Windows에서 내 로컬 개발자를하고 있습니다. socket.io의 설치 지침은 단지 npm install socket.io과 같습니다. 이것은 내 리눅스 환경에 좋으며, 노드가 모듈로 찾을 것이라고 추측한다. 그러나 Windows에서 나는 무엇을해야할지 모른다. 필자는 필요한 파일을 찾기 위해 어떻게 든 작동하는 버전 0.6을 가지고 있습니다.socket.io 0.7에 적합한 파일입니까?

이제 두 세트의 파일이 필요합니다. 하나는 서버 측, 하나는 클라이언트 용입니다. github, socket.io 및 socket.io-client에는 두 개의 repos가 있습니다. 그래서 필요한 모든 파일을 다운로드하려고합니다. 문제는 서버 하나가 클라이언트 하나를 참조하지만 socket.io-client 파일이 서버 repo에 없다는 것입니다. 서버 파일을 넣은 다음 노드 서버에서 참조하면 시작시 Cannot find module 'socket.io-client'이라는 충돌이 발생합니다.

tl; dr npm을 설치하는 대신 파일을 프로젝트 디렉토리에 복사하는 경우 socket.io 버전 0.7을 실행하기위한 적절한 파일 구조는 무엇입니까?

답변

1

여기에도 같은 문제가 있었지만 NPM도 사용하지 않았습니다. 하지만 Windows와 관련이 없습니다. 저는 우분투에서 같은 문제를 겪고 있습니다.

또한 node.modules 경로 또는 server-side socket.io 모듈을 유지하는 위치에서 socket.io-client 모듈을 사용할 수 있어야합니다.

+0

고마워요. 제가 어떻게 그 일을 정말로 좋아하지는 않지만, 고맙습니다. 그러면 나도 레디스가 필요하다는 것을 알게되고, 그것은 내가 지금 업그레이드하지 말라고 설득 할 수 있습니다. 나는 레디 스를 정말로 원하지 않는다. 왜 그들은 지구상에서 그 의존성을 만들까요? – Tesserex

0

비슷한 문제를 해결하기 위해 필요에 따라 NODE_PATH 환경 변수를 설정 한 다음 내 스크립트를 실행하는 러너 스크립트를 만들었습니다. 또한 내 프로젝트의 node_modules 하위 디렉토리에 내 모듈 (또는 npm을 통해 설치하고 싶지 않은 모듈)을 넣습니다. 더 나은 설명은 여기에 있습니다 http://www.bennadel.com/blog/2169-Where-Does-Node-js-And-Require-Look-For-Modules-.htm

#!/bin/sh 

export NODE_ENV=development 

if [ "${NODE_PATH}" = "" ]; then 
    export NODE_PATH=$(npm -g root 2>/dev/null) 
fi 

node ${1}