Mac에서 Bonjour 서비스를 게시하기 위해 mdns 모듈을 사용하는 노드 웹킷 응용 프로그램 (Mavericks 포함)이 있습니다. 내가 서버 코드를 실행하면 node server.js
모든 확인 작업과 함께,하지만 같은 서버 코드를 사용하는 노드 웹킷 응용 프로그램을 실행할 때이 오류가 얻을 : 당신이이 위해 만들어진 것 npm
으로 mdns
모듈을 설치할 때 분명히노드 webkit 응용 프로그램에서 node.js 모듈 mdns를 실행할 수 없습니다.
"Uncaught Error: dlopen(/Users/me/myfolder/node_modules/mdns/build/Release/dns_sd_bindings.node, 1): no suitable image found. Did find:
/Users/me/myfolder/node_modules/mdns/build/Release/dns_sd_bindings.node: mach-o, but wrong architecture", source: /Users/me/myfolder/node_modules/mdns/lib/dns_sd.js (35)
을 x86 아키텍처와 나는 i386을 위해 필요하다. 왜냐하면 node-webkit은 i386을 위해 만들어 졌기 때문이다. (나는이 스레드를 읽음으로써 이것을 알았다 : http://forums.macrumors.com/showthread.php?t=879780). 당신은 터미널에서 이것을 실행하여 확인할 수 있습니다 https://github.com/rogerwang/node-webkit/issues/296 다른 모듈 (노드 프록시)에 대한 :
$ lipo -info /Applications/node-webkit.app/Contents/MacOS/node-webkit
Non-fat file: /Applications/node-webkit.app/Contents/MacOS/node-webkit is architecture: i386
나는 해결책을 제안이 링크를 발견했다. 제안 된 지침은 다음과 같습니다
I managed to build a 32-bit version of node-proxy as follows:
I installed nw-gyp
I ran nw-gyp configure --target=0.3.6
I edited the generated file nodeproxy.target.mk in the build directory by replacing -arch x86_64by -arch i386
I ran nw-gyp build
하지만 난 그것을 내가 그 단계를 실행해야하는 폴더 나에게 명확하지 않았다 지침에 따라 동안, 수동 노드 모듈을 구축하는 데 사용하지 (나는 그것이에서의 가정 모듈 폴더 안에 node_modules
: a) nw-gyp을 설치할 때 nw-gyp 명령이 전역 적으로 사용되지 않습니다. (지침에 -g 옵션이없는 것 같습니다) b) 대신 gyp configure --target=0.3.6
을 사용하면 오류가 발생합니다 어떤 옵션도 없다고 말하자. target
c) 구성 단계를 건너 뛰고 (빌드를 시도했다.) 빌드 명령이 깨졌다.
Could not automatically locate src directory. This isa temporary Chromium feature that will be removed. Use--depth as a workaround.
그러나 --depth (물론)를 사용하려고 할 때 인수가 필요하면 넣을 항목을 찾을 수 없습니다.
그래서 ... 노드 웹킷에서 사용하기 위해 mdns 모듈을 어떻게 빌드해야합니까? (0.8.6 버전 또는 0.10.0, 나는 적응할 수있다).