2016-10-11 4 views
0

Ruby 용 taglib-ruby를 설치하려고했지만, gem 설치 프로그램에게 taglib의 사본을 찾는 방법을 알려주지 못했습니다. 설치 프로그램은/usr/local /과 그 밖의 다른 곳을 찾습니다. 그러나 이것은 Windows 컴퓨터이므로, 그 위치는 존재하지 않기 때문에 taglib를 거기에서 이동할 수 없습니다. 나는 CONFIGURE_ARGS="--with-opt-dir=Path/to/taglib" gem install taglib-ruby 형식을 사용하여 위치를 지정하도록 알려주는 github 페이지에서 this post을 보았지만 Windows powershell에서는 작동하지 않습니다. 나는 또한이 공식을 시도했다 : gem install taglib-ruby -- 'CONFIGURE_ARGS="--with-opt-dir=Path/to/taglib/"'. 그러나 마찬가지로 작동하지 않습니다. 호출이는 것을 보여줍니다에도 불구하고,Windows에 taglib-ruby gem 설치하기

Temporarily enhancing PATH to include DevKit... Building native 
extensions with: '--with-opt-dir=/hi/' This could take a while... 
ERROR: Error installing taglib-ruby: 
     ERROR: Failed to build gem native extension. 

current directory: C:/XXXXXXX/taglib_base C:/XXXXX/ruby.exe -r ./siteconf20161010-10032-1260rq7.rb extconf.rb --with-opt-dir=/hi/ 
checking for main() in -lstdc++... yes 
checking for main() in -ltag... no 
You must have taglib installed in order to use taglib-ruby. 

Debian/Ubuntu: sudo apt-get install libtag1-dev 
Fedora/RHEL: sudo yum install taglib-devel 
Brew: brew install taglib 
MacPorts: sudo port install taglib 

*** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check 
the mkmf.log file for more details. You may need configuration options. 

Provided configuration options: 
    --with-opt-dir 
    --with-opt-include 
    --without-opt-include=${opt-dir}/include 
    --with-opt-lib 
    --without-opt-lib=${opt-dir}/lib 
    --with-make-prog 
    --without-make-prog 
    --srcdir=. 
    --curdir 
    --ruby=C:/Ruby23-x64/bin/$(RUBY_BASE_NAME) 
    --with-tag-dir 
    --without-tag-dir 
    --with-tag-include 
    --without-tag-include=${tag-dir}/include 
    --with-tag-lib 
    --without-tag-lib=${tag-dir}/lib 
    --with-stdc++lib 
    --without-stdc++lib 
    --with-taglib 
    --without-taglib 

To see why this extension failed to compile, please check the mkmf.log 
which can be found here:... 

당신은 그 --with-수신 거부 디렉토리는 옵션입니다 볼 수 있지만 설정되지 않은 :

내가 볼 수있는 오류 메시지입니다. 이 아이디어를 얻는 방법에 대한 아이디어가 있습니까?

참고 : "with-opt-dir"및 "CONFIGURE_ARGS"에 대한 환경 변수 설정도 시도했지만 실패했습니다.

답변

0

비슷한 문제가있어서 GitHub을 통해 관리자에게 질문했습니다. 네이티브 확장 빌드가 TagLib 설치를 찾을 수 없기 때문에이 문제가 맞습니다. TagLib을 경로에 공백이없는 위치 (기본값은 C:\Program Files (x86)\taglib입니다. 따라서 C:\lib\taglib으로 옮겼습니다)로 수정하고 환경 변수를 통해 with-tag-dir을 설정할 때 따옴표를 생략 할 수있었습니다. Ruby의 기본 폴더 분리 기호를 사용하는 것이 효과가 있는지는 잘 모르겠지만 그렇게했습니다.

> set CONFIGURE_ARGS="--with-tag-dir=C:/lib/taglib-1.9.1" 
> echo %CONFIGURE_ARGS% 
    "--with-tag-dir=C:/lib/taglib-1.9.1" 
> gem install taglib-ruby 
: 명령 줄에서