2016-10-08 18 views
19

Tạo ứng dụng Rails mới và gặp vấn đề với nokogiri. Đã nói thử gem install nokogiri -v '1.6.8.1' không thành công với đầu ra bên dưới. Tôi đã thử xóa Gemfile.lock và sử dụng Gemfile từ một ứng dụng khác mà không có vấn đề - bundle install vẫn không thành công. Lỗi ban đầu là bundle install tiếp tục hoạt động trong các ứng dụng khác.gem install nokogiri -v '1.6.8.1' không thành công

Từ giao diện điều khiển:

gem install nokogiri -v '1.6.8.1' 
Building native extensions. This could take a while... 
ERROR: Error installing nokogiri: 
    ERROR: Failed to build gem native extension. 

    current directory: ~/.gem/ruby/2.3.1/gems/nokogiri-1.6.8.1/ext/nokogiri 
~/.rubies/ruby-2.3.1/bin/ruby -r ./siteconf20161008-60071-tmqi2l.rb extconf.rb 
Ignoring byebug-6.0.2 because its extensions are not built. Try: gem pristine byebug --version 6.0.2 
Ignoring byebug-3.4.0 because its extensions are not built. Try: gem pristine byebug --version 3.4.0 
checking if the C compiler accepts ... yes 
checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no 
Building nokogiri using packaged libraries. 
Using mini_portile version 2.1.0 
checking for iconv.h... yes 
checking for gzdopen() in -lz... yes 
checking for iconv using --with-opt-* flags... yes 
************************************************************************ 
IMPORTANT NOTICE: 

Building Nokogiri with a packaged version of libxml2-2.9.4. 

Team Nokogiri will keep on doing their best to provide security 
updates in a timely manner, but if this is a concern for you and want 
to use the system library instead; abort this installation process and 
reinstall nokogiri as follows: 

    gem install nokogiri -- --use-system-libraries 
     [--with-xml2-config=/path/to/xml2-config] 
     [--with-xslt-config=/path/to/xslt-config] 

If you are using Bundler, tell it to use the option: 

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

Note, however, that nokogiri is not fully compatible with arbitrary 
versions of libxml2 provided by OS/package vendors. 
************************************************************************ 
Extracting libxml2-2.9.4.tar.gz into tmp/x86_64-apple-darwin16.1.0/ports/libxml2/2.9.4... OK 
Running 'configure' for libxml2 2.9.4... OK 
Running 'compile' for libxml2 2.9.4... ERROR, review '~/.gem/ruby/2.3.1/gems/nokogiri-1.6.8.1/ext/nokogiri/tmp/x86_64-apple-darwin16.1.0/ports/libxml2/2.9.4/compile.log' to see what happened. Last lines are: 
======================================================================== 
    unsigned short* in = (unsigned short*) inb; 
         ^~~~~~~~~~~~~~~~~~~~~ 
encoding.c:815:27: warning: cast from 'unsigned char *' to 'unsigned short *' increases required alignment from 1 to 2 [-Wcast-align] 
    unsigned short* out = (unsigned short*) outb; 
          ^~~~~~~~~~~~~~~~~~~~~~ 
4 warnings generated. 
    CC  error.lo 
    CC  parserInternals.lo 
    CC  parser.lo 
    CC  tree.lo 
    CC  hash.lo 
    CC  list.lo 
    CC  xmlIO.lo 
xmlIO.c:1450:52: error: use of undeclared identifier 'LZMA_OK' 
    ret = (__libxml2_xzclose((xzFile) context) == LZMA_OK) ? 0 : -1; 
               ^
1 error generated. 
make[2]: *** [xmlIO.lo] Error 1 
make[1]: *** [all-recursive] Error 1 
make: *** [all] Error 2 
======================================================================== 
*** 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=~/.rubies/ruby-2.3.1/bin/$(RUBY_BASE_NAME) 
    --help 
    --clean 
    --use-system-libraries 
    --enable-static 
    --disable-static 
    --with-zlib-dir 
    --without-zlib-dir 
    --with-zlib-include 
    --without-zlib-include=${zlib-dir}/include 
    --with-zlib-lib 
    --without-zlib-lib=${zlib-dir}/lib 
    --enable-cross-build 
    --disable-cross-build 
~/.rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:366:in `block in execute': Failed to complete compile task (RuntimeError) 
    from ~/.rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:337:in `chdir' 
    from ~/.rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:337:in `execute' 
    from ~/.rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:111:in `compile' 
    from ~/.rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:150:in `cook' 
    from extconf.rb:365:in `block (2 levels) in process_recipe' 
    from extconf.rb:258:in `block in chdir_for_build' 
    from extconf.rb:257:in `chdir' 
    from extconf.rb:257:in `chdir_for_build' 
    from extconf.rb:364:in `block in process_recipe' 
    from extconf.rb:263:in `tap' 
    from extconf.rb:263:in `process_recipe' 
    from extconf.rb:556:in `<main>' 

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

    ~/.gem/ruby/2.3.1/extensions/x86_64-darwin-16/2.3.0-static/nokogiri-1.6.8.1/mkmf.log 

extconf failed, exit code 1 

Gem files will remain installed in ~/.gem/ruby/2.3.1/gems/nokogiri-1.6.8.1 for inspection. 
Results logged to ~/.gem/ruby/2.3.1/extensions/x86_64-darwin-16/2.3.0-static/nokogiri-1.6.8.1/gem_make.out 

mkmf.log:

"clang -o conftest -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0/x86_64-darwin16 -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0/ruby/backward -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0 -I. -I/usr/local/opt/openssl/include -I/usr/local/opt/readline/include -I/usr/local/opt/libyaml/include -I/usr/local/opt/gdbm/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe conftest.c -L. -L~/.rubies/ruby-2.3.1/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/gdbm/lib -L. -fstack-protector -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/gdbm/lib  -lruby-static -framework CoreFoundation -lpthread -ldl -lobjc " 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
2: 
3: int main(int argc, char **argv) 
4: { 
5: return 0; 
6: } 
/* end */ 

"clang -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0/x86_64-darwin16 -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0/ruby/backward -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0 -I. -I/usr/local/opt/openssl/include -I/usr/local/opt/readline/include -I/usr/local/opt/libyaml/include -I/usr/local/opt/gdbm/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe -Werror -c conftest.c" 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
2: 
3: int main() {return 0;} 
/* end */ 

"clang -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0/x86_64-darwin16 -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0/ruby/backward -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0 -I. -I/usr/local/opt/openssl/include -I/usr/local/opt/readline/include -I/usr/local/opt/libyaml/include -I/usr/local/opt/gdbm/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe -Wno-error=unused-command-line-argument-hard-error-in-future -Werror -c conftest.c" 
error: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Werror,-Wunknown-warning-option] 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
2: 
3: int main() {return 0;} 
/* end */ 

have_header: checking for iconv.h... -------------------- yes 

"clang -E -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0/x86_64-darwin16 -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0/ruby/backward -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0 -I. -I/usr/local/opt/openssl/include -I/usr/local/opt/readline/include -I/usr/local/opt/libyaml/include -I/usr/local/opt/gdbm/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe conftest.c -o conftest.i" 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
2: 
3: #include <iconv.h> 
/* end */ 

-------------------- 

have_library: checking for gzdopen() in -lz... -------------------- yes 

"clang -o conftest -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0/x86_64-darwin16 -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0/ruby/backward -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0 -I. -I/usr/local/opt/openssl/include -I/usr/local/opt/readline/include -I/usr/local/opt/libyaml/include -I/usr/local/opt/gdbm/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe conftest.c -L. -L~/.rubies/ruby-2.3.1/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/gdbm/lib -L. -fstack-protector -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/gdbm/lib  -lruby-static -framework CoreFoundation -lz -lpthread -ldl -lobjc " 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
2: 
3: #include <zlib.h> 
4: 
5: /*top*/ 
6: extern int t(void); 
7: int main(int argc, char **argv) 
8: { 
9: if (argc > 1000000) { 
10:  printf("%p", &t); 
11: } 
12: 
13: return 0; 
14: } 
15: int t(void) { void ((*volatile p)()); p = (void ((*)()))gzdopen; return !p; } 
/* end */ 

-------------------- 

have_iconv?: checking for iconv using --with-opt-* flags... -------------------- yes 

"clang -o conftest -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0/x86_64-darwin16 -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0/ruby/backward -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0 -I. -I/usr/local/opt/openssl/include -I/usr/local/opt/readline/include -I/usr/local/opt/libyaml/include -I/usr/local/opt/gdbm/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe conftest.c -L. -L~/.rubies/ruby-2.3.1/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/gdbm/lib -L. -fstack-protector -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/gdbm/lib  -lruby-static -framework CoreFoundation -lpthread -ldl -lobjc " 
Undefined symbols for architecture x86_64: 
    "_iconv", referenced from: 
     _main in conftest-d46614.o 
    "_iconv_open", referenced from: 
     _main in conftest-d46614.o 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
2: 
3: #include <stdlib.h> 
4: #include <iconv.h> 
5: 
6: int main(void) 
7: { 
8:  iconv_t cd = iconv_open("", ""); 
9:  iconv(cd, NULL, NULL, NULL, NULL); 
10:  return EXIT_SUCCESS; 
11: } 
/* end */ 

"clang -o conftest -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0/x86_64-darwin16 -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0/ruby/backward -I~/.rubies/ruby-2.3.1/include/ruby-2.3.0 -I. -I/usr/local/opt/openssl/include -I/usr/local/opt/readline/include -I/usr/local/opt/libyaml/include -I/usr/local/opt/gdbm/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe conftest.c -L. -L~/.rubies/ruby-2.3.1/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/gdbm/lib -L. -fstack-protector -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/gdbm/lib  -lruby-static -framework CoreFoundation -liconv -lpthread -ldl -lobjc " 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
2: 
3: #include <stdlib.h> 
4: #include <iconv.h> 
5: 
6: int main(void) 
7: { 
8:  iconv_t cd = iconv_open("", ""); 
9:  iconv(cd, NULL, NULL, NULL, NULL); 
10:  return EXIT_SUCCESS; 
11: } 
/* end */ 

-------------------- 

gem_make.out:

current directory: ~/.gem/ruby/2.3.1/gems/nokogiri-1.6.8.1/ext/nokogiri 
~/.rubies/ruby-2.3.1/bin/ruby -r ./siteconf20161008-60071-tmqi2l.rb extconf.rb 
Ignoring byebug-6.0.2 because its extensions are not built. Try: gem pristine byebug --version 6.0.2 
Ignoring byebug-3.4.0 because its extensions are not built. Try: gem pristine byebug --version 3.4.0 
checking if the C compiler accepts ... yes 
checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no 
Building nokogiri using packaged libraries. 
Using mini_portile version 2.1.0 
checking for iconv.h... yes 
checking for gzdopen() in -lz... yes 
checking for iconv using --with-opt-* flags... yes 
************************************************************************ 
IMPORTANT NOTICE: 

Building Nokogiri with a packaged version of libxml2-2.9.4. 

Team Nokogiri will keep on doing their best to provide security 
updates in a timely manner, but if this is a concern for you and want 
to use the system library instead; abort this installation process and 
reinstall nokogiri as follows: 

    gem install nokogiri -- --use-system-libraries 
     [--with-xml2-config=/path/to/xml2-config] 
     [--with-xslt-config=/path/to/xslt-config] 

If you are using Bundler, tell it to use the option: 

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

Note, however, that nokogiri is not fully compatible with arbitrary 
versions of libxml2 provided by OS/package vendors. 
************************************************************************ 
Extracting libxml2-2.9.4.tar.gz into tmp/x86_64-apple-darwin16.1.0/ports/libxml2/2.9.4... OK 
Running 'configure' for libxml2 2.9.4... OK 
Running 'compile' for libxml2 2.9.4... ERROR, review '~/.gem/ruby/2.3.1/gems/nokogiri-1.6.8.1/ext/nokogiri/tmp/x86_64-apple-darwin16.1.0/ports/libxml2/2.9.4/compile.log' to see what happened. Last lines are: 
======================================================================== 
    unsigned short* in = (unsigned short*) inb; 
         ^~~~~~~~~~~~~~~~~~~~~ 
encoding.c:815:27: warning: cast from 'unsigned char *' to 'unsigned short *' increases required alignment from 1 to 2 [-Wcast-align] 
    unsigned short* out = (unsigned short*) outb; 
          ^~~~~~~~~~~~~~~~~~~~~~ 
4 warnings generated. 
    CC  error.lo 
    CC  parserInternals.lo 
    CC  parser.lo 
    CC  tree.lo 
    CC  hash.lo 
    CC  list.lo 
    CC  xmlIO.lo 
xmlIO.c:1450:52: error: use of undeclared identifier 'LZMA_OK' 
    ret = (__libxml2_xzclose((xzFile) context) == LZMA_OK) ? 0 : -1; 
               ^
1 error generated. 
make[2]: *** [xmlIO.lo] Error 1 
make[1]: *** [all-recursive] Error 1 
make: *** [all] Error 2 
======================================================================== 
*** 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=~/.rubies/ruby-2.3.1/bin/$(RUBY_BASE_NAME) 
    --help 
    --clean 
    --use-system-libraries 
    --enable-static 
    --disable-static 
    --with-zlib-dir 
    --without-zlib-dir 
    --with-zlib-include 
    --without-zlib-include=${zlib-dir}/include 
    --with-zlib-lib 
    --without-zlib-lib=${zlib-dir}/lib 
    --enable-cross-build 
    --disable-cross-build 
~/.rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:366:in `block in execute': Failed to complete compile task (RuntimeError) 
    from ~/.rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:337:in `chdir' 
    from ~/.rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:337:in `execute' 
    from ~/.rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:111:in `compile' 
    from ~/.rubies/ruby-2.3.1/lib/ruby/gems/2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:150:in `cook' 
    from extconf.rb:365:in `block (2 levels) in process_recipe' 
    from extconf.rb:258:in `block in chdir_for_build' 
    from extconf.rb:257:in `chdir' 
    from extconf.rb:257:in `chdir_for_build' 
    from extconf.rb:364:in `block in process_recipe' 
    from extconf.rb:263:in `tap' 
    from extconf.rb:263:in `process_recipe' 
    from extconf.rb:556:in `<main>' 

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

    ~/.gem/ruby/2.3.1/extensions/x86_64-darwin-16/2.3.0-static/nokogiri-1.6.8.1/mkmf.log 

extconf failed, exit code 1 
+0

“Để xem tại sao tiện ích mở rộng này không thể biên dịch được, vui lòng kiểm tra mkmf.log có thể tìm thấy tại đây: [PATH]” – coreyward

+0

Đã chỉnh sửa bản gốc để bao gồm. Và tôi đã cố gắng: 'bó cấu hình build.nokogiri --Sử dụng hệ thống thư viện- bó install' và' brew cài đặt pkg-config' mà đã được đề cập trong một trong những câu báo lỗi. Đúng như dự đoán, tôi đã có nó rồi. – Greg

+0

Có thể trùng lặp của [lỗi cài đặt đá quý nokogiri] (http://stackoverflow.com/questions/24251494/nokogiri-gem-installation-error) – kenorb

Trả lời

49

Tôi cố gắng @ giới thiệu the_basterd của. Điều đó không hiệu quả, nhưng tham khảo là tốt — cảm ơn bạn the_basterd. Có gì làm việc từ tài liệu tham khảo đó là:

brew install libxml2

bundle config build.nokogiri --use-system-libraries --with-xml2-include=/usr/local/opt/libxml2/include/libxml2

tham khảo: https://github.com/sparklemotion/nokogiri/issues/1483

đăng Sau đó tại ref mà nói rằng những gì tôi đăng tải trên "được khuyến khích mạnh mẽ chống lại bởi Nokogiri"

brew unlink xz; bundle install; brew link xzđược ưu tiên.

+4

Bạn nên "Chấp nhận" câu trả lời của riêng bạn để mọi người sau khi bạn biết câu trả lời nào đã giải quyết được vấn đề. – coreyward

+0

Điều này làm việc cho tôi cài đặt 1.8.0 với ruby ​​2.4.1p111. Tôi đã phải tạo ra một Gemfile trong thư mục địa phương của tôi với mục nhập đá quý ruby ​​và đá quý 'nokogiri', nhưng nó đã làm việc rất đẹp. Xóa Gemfile sau đó. – Jurgen

51

Run này đầu tiên:

xcode-select --install 

Sau đó chạy lại bó của bạn cài đặt

tham khảo: https://github.com/sparklemotion/nokogiri/issues/1483

+4

Đây là giải pháp hiệu quả đối với tôi. Tôi đang sử dụng MacOS Sierra – matiasdh

+1

Tôi không biết tại sao các công cụ dòng lệnh không được cài đặt, nhưng đó là nó. – Julian

+0

Và tôi không biết tại sao quá trình cài đặt mất nhiều thời gian! – Crimbo

0

Bạn cũng có thể gặp thông báo lỗi tương tự nếu bạn đã tải xuống Công cụ XCode nhưng chưa đồng ý với giấy phép.

Từ Terminal, chạy:

sudo xcodebuild -license 

Nhập mật khẩu quản trị của bạn, không gian thông qua thỏa thuận và gõ agree để chấp nhận. Chạy brew doctor và nếu cần, brew update và bạn sẽ ở trạng thái tốt.

0

Tôi gặp sự cố này với nokogiri-1.6.8.1 khi sử dụng bundle install --path vendor/bundle để cài đặt trực tiếp vào một dự án nằm trong thư mục đồng bộ hóa Google Drive. Việc gác máy dường như liên quan đến libxml2.

Trong khi đọc qua vấn đề GitHub được tham chiếu bởi @Greg và @the_basterd, tôi nhận thấy rằng someone was having trouble installing into a Box sync folder. Di chuyển thư mục dự án của tôi đến một vị trí khác đã hoạt động.

Không chắc chắn vấn đề cơ bản là khi cài đặt vào một thư mục đồng bộ hóa, nhưng tôi muốn được quan tâm để tìm hiểu xem có ai có bất kỳ suy nghĩ nào không.

Chưa thử nghiệm điều này với Dropbox, nhưng có lẽ điều đó cũng sẽ gây ra sự cố.

Các vấn đề liên quan