OSX 10.9 Maverick에 Nokogiri를 설치하는 데 오류가 있습니까?


109

OSX (Lion)를 Mavericks로 업그레이드했는데 프로젝트에 Nokogiri를 설치할 수 없습니다.

이미 XCode 5.0.1, 명령 줄 도구 (사용 xcode-select --install)를 설치하고 Homebrew에서 libxml2를 이미 설치했는데 여전히 문제가 있습니다.

오류는 다음과 같습니다.

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

/Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/bin/ruby extconf.rb
checking for libxml/parser.h... *** 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=/Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/bin/ruby
    --with-zlib-dir
    --without-zlib-dir
    --with-zlib-include
    --without-zlib-include=${zlib-dir}/include
    --with-zlib-lib
    --without-zlib-lib=${zlib-dir}/lib
    --with-iconv-dir
    --without-iconv-dir
    --with-iconv-include
    --without-iconv-include=${iconv-dir}/include
    --with-iconv-lib
    --without-iconv-lib=${iconv-dir}/lib
    --with-xml2-dir
    --without-xml2-dir
    --with-xml2-include
    --without-xml2-include=${xml2-dir}/include
    --with-xml2-lib
    --without-xml2-lib=${xml2-dir}/lib
    --with-xslt-dir
    --without-xslt-dir
    --with-xslt-include
    --without-xslt-include=${xslt-dir}/include
    --with-xslt-lib
    --without-xslt-lib=${xslt-dir}/lib
    --with-libxslt-config
    --without-libxslt-config
    --with-pkg-config
    --without-pkg-config
    --with-libxml-2.0-config
    --without-libxml-2.0-config
    --with-libiconv-config
    --without-libiconv-config
/Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to generate an executable file. (RuntimeError)
You have to install development tools first.
    from /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:452:in `try_cpp'
    from /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:853:in `block in find_header'
    from /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for'
    from /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postpone'
    from /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone'
    from /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:276:in `postpone'
    from /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for'
    from /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:852:in `find_header'
    from extconf.rb:116:in `<main>'


Gem files will remain installed in /Users/ericcamalionte/Locaweb/code/dns-panel/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.5.9 for inspection.
Results logged to /Users/ericcamalionte/Locaweb/code/dns-panel/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.5.9/ext/nokogiri/gem_make.out
An error occured while installing nokogiri (1.5.9), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.5.9'` succeeds before bundling.

Homebrew에서 libxml2, libxslt 및 libiconv를 설치하고 Nokogiri를 설치하도록 params를 설정했지만 작동하지 않습니다.

내 환경에서 무엇이 잘못되었는지 찾을 수 없습니다. 도와 줄 수 있습니까?



2
xcode를 열고 EULA / 라이센스에 동의하십시오.
moander

답변:


245

다음을 사용하여 전체 XCode 설치로 Mac OS X 10.9 Mavericks 에 Nokogiri를 설치할 수도 있습니다 .

gem install nokogiri -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2

최신 정보

Yosemite를 사용 하는 경우 다음 명령이 작동합니다.

gem install nokogiri -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/libxml2 --use-system-libraries

또는 실제로 MacOSX10.11.sdk폴더 (2015 년 9 월 18 일 현재)에있을 수 있으므로 아직 El Capitan을 완전히 사용하지 않더라도 최근에 XCode를 업데이트했으며 El Capitan SDK를 사용해야 할 수도 있습니다. 다음에 오는 경로 :

최신 정보

그 사용을 위해 엘 카피 탄 다음 명령이 작동합니다 :

gem install nokogiri -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2 --use-system-libraries

최신 정보

Sierra를 사용 하는 경우 다음 명령이 작동합니다.

gem install nokogiri -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/libxml2 --use-system-libraries

4
나에게 적합하지 않음 : "libxml2가 없습니다. 종속성 설치에 대한 도움말을 보려면 nokogiri.org/tutorials/installing_nokogiri.html 을 방문하십시오 ." 여전히 같은 오류가 발생합니다.
Pop-A-Stash

1
--use-system-libraries를 추가해야했습니다. Xcode 5.1.1 및 brew를 사용하여 완전히 새로운 mavericks 설치에서 작동했습니다.
jmg

11
--use-system-libraries이 작동 하도록 하기 위해 추가 해야했습니다 :gem install nokogiri -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2 --use-system-libraries
Maverick 2014 년

1
이것은 10.10.3에서 나를 위해 작동하는 유일한 것입니다. sudo gem install nokogiri---with-iconv-lib = / Applications / Xcode.app / Contents / Developer / Platforms / MacOSX.platform / Developer / SDKs /MacOSX10.10.sdk/usr/lib --with-iconv-include = / Applications / Xcode.app / Contents / Developer / Platforms / MacOSX.platform / Developer / SDKs / MacOSX10.10.sdk / usr / include- with-xml2-include = / Applications / Xcode.app / Contents / Developer / Platforms / MacOSX.platform / Developer / SDKs / MacOSX10.10.sdk / usr / include / libxml2 --use-system-libraries
Erik Villegas

10
모든 OS X 버전과 Xcode 설치 경로에서 작동하는보다 일반적인 명령으로 답변을 업데이트 할 수 있습니다.gem install nokogiri -- --with-xml2-include=`xcrun --show-sdk-path`/usr/include/libxml2 --use-system-libraries
Philipp


20

이 로그를 찾았고 gcc-4.2를 찾을 수 없음을 확인했습니다.

package configuration for libxslt
cflags: -I/usr/local/Cellar/libxslt/1.1.28/include -I/usr/local/Cellar/libxml2/2.9.1/include/libxml2
ldflags: -L/usr/local/Cellar/libxslt/1.1.28/lib -L/usr/local/Cellar/libxml2/2.9.1/lib
libs: -lxslt -lxml2 -lz -lpthread -liconv -lm -lxml2

package configuration for libxml-2.0
cflags: -I/usr/local/Cellar/libxml2/2.9.1/include/libxml2
ldflags: -L/usr/local/Cellar/libxml2/2.9.1/lib
libs: -lxml2

package configuration for libiconv is not found
"/usr/bin/gcc-4.2 -o conftest -I/Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/include/ruby-1.9.1/x86_64-darwin11.4.0 -I/Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/include/ruby-1.9.1/ruby/backward -I/Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/include/ruby-1.9.1 -I. -I/usr/local/Cellar/libxslt/1.1.28/include -I/usr/local/Cellar/libxml2/2.9.1/include/libxml2 -I/usr/local/Cellar/libiconv/1.14/include -I/Users/ericcamalionte/.rvm/gems/ruby-1.9.2-p320@dns-panel/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin13.0.0/libxml2/2.8.0/include -I/Users/ericcamalionte/.rvm/gems/ruby-1.9.2-p320@dns-panel/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin13.0.0/libxslt/1.1.26/include -I/Users/ericcamalionte/.rvm/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE    -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long  -fno-common -pipe  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES -DNOKOGIRI_LIBXML2_PATH='"/Users/ericcamalionte/.rvm/gems/ruby-1.9.2-p320@dns-panel/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin13.0.0/libxml2/2.8.0"' -DNOKOGIRI_LIBXSLT_PATH='"/Users/ericcamalionte/.rvm/gems/ruby-1.9.2-p320@dns-panel/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin13.0.0/libxslt/1.1.26"' -I/usr/local/Cellar/libxslt/1.1.28/include -I/usr/local/Cellar/libxml2/2.9.1/include/libxml2  -I/usr/local/Cellar/libxml2/2.9.1/include/libxml2  conftest.c  -L. -L/Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib -L/usr/local/Cellar/libxslt/1.1.28/lib -L/usr/local/Cellar/libxml2/2.9.1/lib -L/usr/local/Cellar/libiconv/1.14/lib -L/Users/ericcamalionte/.rvm/gems/ruby-1.9.2-p320@dns-panel/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin13.0.0/libxml2/2.8.0/lib -L/Users/ericcamalionte/.rvm/gems/ruby-1.9.2-p320@dns-panel/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin13.0.0/libxslt/1.1.26/lib -L/Users/ericcamalionte/.rvm/usr/lib -L.  -Wl,-rpath,/Users/ericcamalionte/.rvm/gems/ruby-1.9.2-p320@dns-panel/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin13.0.0/libxml2/2.8.0/lib -Wl,-rpath,/Users/ericcamalionte/.rvm/gems/ruby-1.9.2-p320@dns-panel/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin13.0.0/libxslt/1.1.26/lib -L/usr/local/Cellar/libxslt/1.1.28/lib -L/usr/local/Cellar/libxml2/2.9.1/lib -L/usr/local/Cellar/libxml2/2.9.1/lib     -lxslt -lxml2 -lz -lpthread -liconv -lm -lxml2  -lxml2  -lruby.1.9.1-static  -lpthread -ldl -lobjc  "
sh: /usr/bin/gcc-4.2: No such file or directory
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main() {return 0;}
/* end */

이 문제를 해결하기 위해 homebrew를 사용하여 apple-gcc42 brew install apple-gcc42를 설치하고 / usr / bin에 대한 심볼릭 링크를 만들었습니다.

sudo ln -s /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2 /usr/bin/gcc-4.2


이것은 나를 위해 문제를 해결하지 못했습니다, 나는 여전히 같은 오류 메시지가 있습니다 :(
David Portabella

1
rvm과 ruby ​​(brew에서)를 완전히 제거하고 다시 설치했는데 작동했습니다.
David Portabella

3
그래서 그냥 brew install apple-gcc42.. 실행 하고 그냥 작동합니다. 그 명령이 작동하지 않습니까?
squiter

4
나는 xcode-select --install양조 설치 전에 실행했고 지금은 모두 작동합니다.
Quickredfox 2013

1
@LucyBain 정말 기억이 안나요 ....하지만 로그 파일이 gem_meake.out과 같은 디렉토리에 있다고 생각합니다 ...
squiter

15

Xcode 5.1을 실행중인 경우 명령 줄 도구가 nokogiri 1.6.1에서 작동하지 않습니다. Apple 에서 2013 년 10 월 말 도구를 다운로드해야합니다 . 일단 실행하면

sudo xcode-select -s /Library/Developer/CommandLineTools/

Xcode 5.0.X 명령 줄 도구를 사용하도록 컴퓨터를 설정 한 다음

gem install nokogiri

나중에 명령 줄 도구를 Xcode.app 버전으로 재설정하려면

sudo xcode-select -r

또는 알 수없는 명령 줄 인수를 무시하도록 플래그를 추가 할 수 있습니다. 그런 다음 설치는 다음과 같습니다.

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install nokogiri

12

이것은 OSX Mavericks에서 나를 위해 일한 것입니다.

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install nokogiri -v '1.6.1' --verbose --no-ri --no-rdoc

놀랍게도 이것은 나에게도 도움이 된이 전체 트레드에서 유일한 것입니다. 감사!
KonstantinK

이 문제는 sudoRVM 또는 rbenv와 함께 사용 하면 루트가 샌드 박스 처리 된 루비가 어디에 있는지 알지 못하기 때문에 문제가 발생한다는 것입니다. 이것은 RVM 설치 페이지 에서 다룹니다 . OP는 RVM을 사용하고 있으며 사용 sudo하면 Nokogiri가 사용자가 아닌 Apple의 Ruby에 설치됩니다. 당신이하지 않는 그래서, 이렇게하지 SURE 당신이 다른 * nix에서 스크립트에 있다면 당신은 루비를 맥 OS에있어, 또는 시스템에 경우 애플의 루비에 설치하려고합니다.
The Tin Man

10

나는 OSX Mavericks를 사용하고 있으며 내 문제는 Ruby의 잘못된 설치로 판명되었습니다.

그래서 rvm으로 루비를 다시 설치했습니다.

rvm remove ruby 2.0.0p451
rvm remove ruby-2.0.0-p451 && rvm install ruby-2.0.0-p451

나는 그때 할 수 있었다

gem install nokogiri --no-ri --no-rdoc

문제 해결됨.


멋있는. 이제 mavericks에서 rvm을 사용하고 있으므로 vim을 열어보십시오. SEGV 오류? 아름다운.
Tim

폴더가 비어 있지 않았기 때문에 gemset을 제거 할 수 없었지만, gemset을 다시 설치하면 (오류가 있어도) 제거되었습니다! 이것은 나를 위해 일한 유일한 것입니다!
Onikoroshi

9

나는 일반적으로 시스템에서 제공하는 것을 고수하는 것을 좋아합니다. 이것은 나를 위해 일했습니다.

gem install nokogiri -- --with-iconv-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/ --with-iconv-lib=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/

몇 시간 동안 인터넷 검색을 한 후 그게 저에게 효과가 있었던 유일한 솔루션이었습니다. 감사합니다! : D
Rogerio Chaves 2014

5

Apple에서 Mavericks 10.9.5 업데이트와 10.9 개발자 도구 업데이트를 설치 한 직후이 문제가 발생했습니다. 을 실행 xcode-select --install했지만 문제가 해결되지 않았습니다. 그런 다음 XCode를 열고 eula를 수락하고 XCode를 종료했습니다. 문제가 해결되었습니다.


3

오늘 Maverick에서이 문제가 발생했습니다. 이것이 제가 문제를 해결 한 방법입니다.

brew update
brew install libiconv
brew link libiconv

아래 Cellar 광산의 libiconv 버전이 1.14인지 확인한 다음 아래와 같이 설치하십시오.

gem install nokogiri -- --with-iconv-dir=/usr/local/Cellar/libiconv/1.14

특정 버전의 nokogiri (예 : -v '1.6.2.1')가 필요한 경우 다음과 같이 설치하십시오.

gem install nokogiri -v '1.6.2.1' -- --with-iconv-dir=/usr/local/Cellar/libiconv/1.14

Nokogiri가 성공적으로 설치되었습니다!


요세미티에서도 나를 위해 일했습니다. 위의 답변 중 어느 것도 그렇지 않았습니다.
MattL 2015-06-25

3

이것은 @thomas_witt의 게시물과 동일하지만 Mac OS X Sierra에서 작동합니다.

gem install nokogiri -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/libxml2 --use-system-libraries

2

설치가 작동하려면 gem install명령 의 파일 경로 를 내 시스템 의 파일 경로 와 일치 하도록 수정해야했습니다 . libxml2와 libiconv의 버전이 다르고 파일 구조가 약간 다릅니다. 내가 수정 한 명령은 다음과 같습니다.

gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2 
                        --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.1/lib 
                        --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28 
                        --with-iconv-include=/usr/local/Cellar/libiconv/1.13.1/include 
                        --with-iconv-lib=/usr/local/Cellar/libiconv/1.13.1/lib

나는 파일 경로를 매우 세 심하게 다루어야했습니다. 명령을 올바르게 구성하기 위해 여러 번 시도했습니다.
darkmoves

다음 은 잘못된 libxml 버전 문제에 대한 다른 솔루션에 대한 링크 입니다.
darkmoves 2014 년

2

MacPorts를 사용하는 사람들의 경우을libxml2 통해 설치했는지 확인하십시오 MacPorts. 그런 다음 다음을 입력하십시오.

bundle config build.nokogiri --use-system-libraries
bundle install

이것은 트릭을 수행해야하며 전체 경로를 사용하지 않고 나를 위해 일했습니다.


2

brew install libxml2 libxsltHomebrew를 사용하는 경우 사용하십시오 .


2

다음은 또 다른 참조입니다.

system: OS X Yosemite 10.10
rvm: 1.26.10
brew: 0.9.5
ruby: ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-darwin14]

nokogiri를 설치하는 동안 오류가 발생했습니다.

다음과 같은 오류 :

.rvm/rubies/ruby-2.2.0-p0/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to generate an executable file. (RuntimeError)

먼저 개발 도구를 설치해야합니다.

아마도 다음이 필요할 것입니다.

$ xcode-select --install

또는 다음과 같은 오류가 발생하면

checking for libxml/parser.h... no

다음과 같이 lib 경로를 수정합니다.

gem uninstall nokogiri libxml-ruby
brew update
brew uninstall libxml2
brew install libxml2 libxslt
gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.9.2/include/libxml2/libxml --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.2/lib --with-iconv-dir=/usr/local/Cellar/libiconv/1.14/ --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26/

번들에는 다음과 같은 것이 필요합니다.

bundle config build.nokogiri --with-xml2-include=/usr/local/Cellar/libxml2/2.9.2/include/libxml2/libxml --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.2/lib --with-iconv-dir=/usr/local/Cellar/libiconv/1.14/ --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26/
bundle install

2

이것은 나를 위해 작동합니다

system: OS X Yosemite 10.10
rvm: 1.26.10
ruby: ruby 2.2.1 

두 개의 명령 아래에서 실행하십시오.

$ xcode-select --install

"예"라고 다운로드하라는 메시지가 표시되면 설치를 클릭하여 xcode 구성 요소를 설치하라는 메시지가 표시됩니다.

이제 아래 명령으로 gem을 설치하십시오.

gem install nokogiri --no-ri --no-rdoc

이것은 위의 환경에서 나를 위해 작동합니다.


1

Mavrick에 대해 동일한 문제가 발생했으며 해결책은 다음과 같습니다.

xcode-select --install

그러나 명령 줄 도구에 대한 Apple의 다운로드 페이지 에는 현재 공개적으로 사용할 수있는 설치 프로그램이 없기 때문에 작동하지 않습니다.

따라서 Mavricks 용 명령 줄 도구를 사용하려면 유료 계정이 있어야합니다 . 그러면 당신 만 설치할 수 있습니다. 일단 설치하면 Nokogiri에서이 문제가 발생하지 않습니다.


유료 계정이없고 명령 줄 도구를 설치했습니다. 나는 터미널을 사용하여 설치했지만 내 친구가 그 다운로드 페이지를 사용하여 설치했으며 그도 유료 계정이 없습니다.
squiter

동의합니다. 2013 년 11 월 24 일까지 저에게도 같은 일이 발생했습니다. 그러나 지금 해당 페이지로 이동하여 액세스를 시도하면이 오류가 발생합니다. 이상한 점은 자격 증명으로 로그인하지만 게스트로 계속 로그인한다는 것입니다. 다음은 내 계정 페이지에 표시되는 메시지입니다. Apple Developer Program Big Warning 요청을 처리 할 수 ​​없습니다. 이전 페이지로 돌아가거나 브라우저를 종료하고 요청을 다시 시도하십시오. 도움이 필요하면 Apple 개발자 지원에 문의하십시오.
shinesecret 2013

1

새로운 Mavericks 설치에서 이와 동일한 오류가 발생했습니다. 판단에 실패한 후 Xcode 앱 번들의 이름을 Xcode 5.0.1.app.

분명히 Nokogiri 설치 스크립트는 경로를 인용하지 않으므로 파일 이름의 공백으로 인해 모든 종류 또는 문제가 발생했습니다. 시도하기 전까지 brew install libxml2는 오류가 분명해졌습니다.

교훈 : 파일 이름의 공백은 사악합니다.


1

제 경우에는 심볼릭 링크 후 실제로 /usr/bin/gcc-4.2를 실행해야했습니다. 라이센스 계약에 동의해야합니다. 그렇지 않으면 중단됩니다.


1

오류 메시지는 여기에 단서를 제공합니다. The compiler failed to generate an executable file. (RuntimeError)

xcode-select --install # not sure if this is required  
brew install apple-gcc42  
gem install nokogiri  

또한 다음을 양조 설치하고 연결해야 할 수도 있습니다.

libxml2 libxslt

1
brew install libxml2 libxslt
gem install nokogiri -- \
    --with-xml2-include=/usr/local/Cellar/libxml2/*/include/libxml2 \
    --with-xml2-lib=/usr/local/Cellar/libxml2/*/lib \
    --with-xslt-dir=/usr/local/Cellar/libxslt/*

1

나에게 오류는 gcc (4.2.1, Homebrew에서 설치됨)가 다음과 같이 불평한다는 것입니다.

-E, -S, -save-temps and -M options are not allowed with multiple -arch flags

x86_64 만 강제로 문제를 해결했습니다.

ARCHFLAGS="-arch x86_64" gem install nokogiri 

1

Maverick으로 업그레이드 한 후 비슷한 문제가 발생했습니다. Ruby 1.9.2-p320과 함께 RVM을 사용하고 여기에 제공된 여러 솔루션을 시도했지만 문제가 해결되지 않았습니다.

그런 다음 Ruby 2.1.2로 변경하고 bundle install즉시 Nokogiri를 설치했습니다.


1

번 들러를 사용하는 동안 누군가가 el capitan 에서이 문제를 겪고 있다면.

xcode 명령 줄 도구가 설치되어 있는지 확인하고 다음을 실행합니다.

bundle config build.nokogiri --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2 --use-system-libraries

1

Rails 3 버전 응용 프로그램을 실행하는 동안 지난 2 주 동안 동일한 문제에 직면했습니다.

문제는 rvm / rbenv가 C 컴파일러를 사용하지 않는다는 것입니다.

rvm에이 명령을 사용하여 호환되는 C 컴파일러를 사용합니다.

CC=gcc rvm install-version

따라서 Ruby 1.9.3을 사용하는 경우 다음과 같이 사용하십시오.

CC=gcc rvm install-1.9.3

번들 설치 등을 할 수 없을 때마다이 명령을 사용하십시오. 이 일은 El Capitan, rails 3.2.16, ruby ​​1.9.3, mysql 5.7에서 작동합니다. 다행히도 문제가 해결 될 것입니다.

Rails 3 버전 응용 프로그램을 실행하는 동안 지난 2 주 동안 동일한 문제에 직면했습니다.

문제는 rvm / rbenv가 C 컴파일러를 사용하지 않는다는 것입니다.

rvm에이 명령을 사용하여 호환되는 C 컴파일러를 사용합니다.

CC=gcc rvm install-version

따라서 Ruby 1.9.3을 사용하는 경우 다음과 같이 사용하십시오.

CC=gcc rvm install-1.9.3

번들 설치 등을 할 수 없을 때마다이 명령을 사용하십시오.

이 일은 El Capitan, rails 3.2.16, ruby ​​1.9.3, mysql 5.7에서 작동합니다. 다행히도 문제가 해결 될 것입니다. 또한 이미 Xcode가 있고 gem을 설치할 때 동일한 오류가 발생하지 않는 경우이 솔루션을 시도하십시오.


1

업그레이드 직후에 동일한 문제를 발견 한 후 여기에 결과를 추가했습니다. http://jasdeep.ca/2013/10/installing-nokogiri-fails-os-x-mavericks/

수정 사항은 다음 두 명령입니다.

xcode-select --install
gem install nokogiri

도움이되기를 바랍니다.


5
여기에 항목을 게시하십시오-링크가 깨질 수 있습니다 (지침 참조)
Justin

링크가 아닌 여기에 답변을 게시하는 감정을 반영하지만 도움이되었습니다. :)
Richard

이것은 스택 오버플로에서 권장되지 않는 링크 전용 답변으로 간주됩니다. 자신의 사이트에 대한 링크 만 게시하는 대신 답변에 중요한 정보를 요약하십시오. 그렇게하면 링크가 썩는 경향이있는 것처럼 해답이 계속해서 가치를 제공 할 것입니다.
The Tin Man

0

나도이 문제가 있었다. 실행 brew doctor하면 / user / local / lib에 예기치 않은 버전의 libiconv가 있음을 알 수 있습니다.

Warning: Unbrewed dylibs were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected dylibs:
    /usr/local/lib/libcharset.1.dylib
    /usr/local/lib/libiconv.2.dylib

그래서 나는 그것들을 제거하고 libxml을 다시 만들었습니다.

rm  /usr/local/lib/libiconv*
andromeda:nokogiri-1.6.0 Jeff$ brew install libxml2 libxslt
...
==> Summary
🍺  /usr/local/Cellar/libxslt/1.1.28: 145 files, 3.3M, built in 36 seconds

마지막으로 nokogiri를 설치했습니다.

Jeff$ gem install nokogiri
Building native extensions.  This could take a while...
Successfully installed nokogiri-1.6.0
1 gem installed

비슷한 문제가 있습니다 (연결되지 않은 libiconv). libiconv를 연결 해제하고 다시 설치했습니다. brew install libiconv, 그런 다음 gem install nokogirl.
Ben

0

이 답변 중 어느 것도 내 특정 경우에 효과가 없었으며 나는 초보자이기 때문에 내 솔루션이 다른 사람을 도울 수 있다고 생각했습니다.

Yosemite를 사용하고 있으며 Ruby 1.9.3p547을 사용하고 있습니다. p547에 대한 보안 노출이 있었기 때문에 Ruby 1.9.3p550 이상으로 업데이트하려고했습니다. RVM을 사용한 다음 내 gem을 마이그레이션하려고 시도했지만 대부분은 가지 않았습니다. 그런 다음 번들 설치를 시도했지만 실패했으며 다양한 경로와 종속성 간의 충돌이라고 생각하여 이전 버전의 Ruby를 제거했습니다. 이것은 모든 것을 망쳤습니다.

XCode를 다운로드하고 최근에 CLI 도구를 업데이트했지만 C 컴파일러가 없다는 메시지가 계속 표시되었습니다. 타사 GCC를 다운로드하라는 다른 웹 사이트를 찾았습니다. 모든 것을 악화 시켰습니다.

이제 프로필과 PATH를 수정해야한다는 메시지가 표시됩니다. 아니면 OSX를 다시 설치하는 것이 더 쉬울 수도 있습니다. 그래서 했어요.

어쨌든 더 긴 이야기는 길다. 마침내 나를 위해 일한 해결책은 RVM을 제거하고 brew를 사용하여 실행하기 전에 원하는 Ruby 버전을 다운로드하는 것이 었습니다 bundle install. 올바른 버전의 Nokogiri FIRST를 설치하십시오.

brew install ruby193
sudo gem install nokogiri -v '1.6.0'
bundle install

사용 sudo하면 Nokogiri가 루트로 알려진 유일한 Ruby에 설치 되며 Homebrew를 사용 하지 않는 한 Apple이 설치 한 Ruby 일 가능성이 높습니다 . OP가 RVM을 사용했기 때문에 RVM이 관리하는 Ruby에서는 Nokogiri를 볼 수 없으며 문제가 복잡해질뿐입니다. sudo이 경우 사용하면 효과가 있었지만 RVM 또는 rbenv 관리 Ruby에서는 시도해서는 안됩니다. RVM 은 설치 문서 에서 특별히하지 말라고 명시 하고 있습니다 .
The Tin Man

0

Windows의 경우 로컬 설치를 시도 할 수도 있습니다.

  1. 환경에 따라 적절한 gem을 다운로드하십시오.

  2. gem 파일을 저장 한 디렉토리로 이동합니다.

  3. gem install --local nokogiri-1.6.3.1-x86-mingw32.gem

작동하지 않으면 zlib 및 mingw 또는 적절한 c 컴파일러가 설치되어 있는지 확인할 수 있습니다.


0

여기에있는 모든 일이 나를 위해 해주지는 않았지만 (나는 양조 재설치를하지 않았습니다.) 마침내 이것은했습니다 (관련되지 않은 프로젝트에 대한 버그 보고서를 통해 발견되었습니다).

gem install nokogiri -- --use-system-libraries=true --with-xml2-include=/usr/include/libxml2

행운을 빕니다. #yakshaving에 대한 예이!


-3

명령 줄 도구 버전을 확인하세요. Xcode 5.0.X 명령 줄 도구를 사용하도록 컴퓨터를 설정 한 후 다음을 실행합니다.

gem install nokogiri

이 명령을 사용해야합니다. 터미널을 엽니 다. 이 명령을 작성하십시오. export NOKOGIRI_USE_SYSTEM_LIBRARIES = true
Durul Dalkanat 2015 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.