2014-02-19 3 views
1

지난 몇 시간 동안 windows에서 node-gd을 실행하려고합니다. 여러 repos 시도하고 결국 찾은 https://github.com/mikesmullin/node-gd. 내가windows에 노드 -gd 설치

`npm install node-gd` 

를 실행할 때 나는 다음과 같은 오류를 받고 있어요 :

node-gyp rebuild 

...node_modules\node-gd>node "C:\Program Files\nodejs\node_modules\npm\ 
bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild 
Building the projects in this solution one at a time. To enable parallel build, 
please add the "/m" switch. 
    node-gd.cpp 
..\cpp\node-gd.cpp(17): fatal error C1083: Cannot open include file: 'gd.h': No 
such file or directory [...\node_modules\node-gd\build\node_gd.vcxproj 
] 

은 내가 gd lib 디렉토리를 설치해야한다고 생각하지만, 내가 봤 때, 거의 모든 정보가 없습니다 lib 디렉토리 자체에 대한 대한 php_gd입니다 .

gd 파일을 어디에 넣어야합니까?

편집 : 컴파일했습니다. 지금은 받고 있어요 :

enter image description here

+0

확인이 https://github.com/mikesmullin/node-gd/issues/14 – vinayr

+0

@vinayr 지금은 LINK '받고 있어요 : 치명적인 오류 LNK1181 : 열 수 없습니다 입력 파일'gd.lib '[ ... \ node_m odules \ node-gd \ build \ node_gd.vcxproj] – Deepsy

+0

@Deepsy : 해결책을 찾았습니까? – darma

답변

1

나는 최근에이 과정을 통해 가서 같은 문제가 발생하지만, 문제를 해결하기위한 게시 된 단계를 찾을 수 없습니다. 이 스레드는 거의 1.5 년 전인 것으로 알고 있지만 다른 사용자에게 도움이 될 수있는 기회에 여기에 전체 설치 단계를 게시합니다.

여기에는 이미 GD 라이브러리 (https://github.com/libgd/libgd/releases)가 있고 GD DLL을 사용하고 있다고 가정합니다.

  1. https://www.npmjs.com/package/node-gd

    주에서 노드-GD 패키지를 다운로드 :이 자동으로 다운로드하고 설치 실행으로 하지 실행을 수행하는 프롬프트에서 "NPM 노드 GD 설치". 먼저 패키지를 로컬로 변경 한 다음 로컬로 설치해야합니다.

  2. 추출한 후 binding.gyp 파일을 엽니 다. 컴파일 된 GD DLL 가져 오기 라이브러리의 이름

    "libraries": ["-lgd"], 
    

    , 예를 들면 : (downloads_folder) \ 노드 GD \ binding.gyp

  3. 변경이 라인에 위치 "libgd.lib"에 대한 :

    "libraries": ["-llibgd"], 
    
  4. 는 GD 소스 경로에 "include_dirs", 예를 들어 추가 :

    "include_dirs": [ 
        "<!(node -e \"require('nan')\")", 
        "(path_to_gd)/src" # <-- THIS ENTRY 
    ], 
    
  5. 을 "조건에서 VS 링커 설정으로 GD 컴파일 된 라이브러리 디렉토리를 추가 "창, 예에 대한 필드 :

    참고 : ... 내가 사기꾼의 기존 바인딩 사양을 통해 제대로 작동 할 수있는 라이브러리 디렉토리를 가져올 수 없습니다, 그래서 나는이에 의지했던 일부 이유로

    "conditions": [ 
        [ "OS=='freebsd'", { 
        "libraries": ["-L/usr/local/lib"], 
        "include_dirs": ["/usr/local/include"] 
        }], 
        [ "OS=='mac'", { 
        "libraries": ["-L/usr/local/lib", "-L/opt/local/lib"], 
        "include_dirs": ["/usr/local/include", "/opt/local/include"] 
        }], 
        [ "OS=='win'", { # <-- THIS ENTRY 
        "msvs_settings": { 
         "VCLinkerTool": { 
         "AdditionalOptions": ["/LIBPATH:(path_to_gd)/build_msvc12_x64"], 
         }, 
        }, 
        }], 
    ] 
    
  6. 는 예를 들어, binding.gyp 파일을 저장하고 로컬 패키지를 설치 : 당신이 (필요 통해)이 시점에서 노드 GD를 사용하려고하면

    npm install (downloads_folder)\node-gd 
    
  7. 는 당신이 얻을거야 " 모듈을 찾을 수 없습니다 "라는 오류가 발생했습니다.문제는 모듈을 찾을 수 없다는 것, GD DLL을 찾을 수 없다는 것입니다 (오류 메시지는 끔찍합니다). 그래서, 노드 가능해 출력 디렉토리에 GD .dll 파일을 복사 :, 예컨대을 (그냥 내장 된 노드 GD 바이너리 파일 옆에 있어야합니다)

    copy (path_to_gd)\build_msvc12_x64\libgd.dll (path_to_node_modules)\node-gd\build\Release\libgd.dll 
    
  8. 을해야합니다! 다행히 모든 것이이 시점에서 작동합니다.

+0

그래서 나는 낡은 질문을 찾아보고 이것을 표시하지 않았 음을 알았습니다. 가능한 해결책이므로 답변으로 표시하겠습니다. 노력에 감사드립니다. – Deepsy