2016-09-24 4 views
0

私はいつもNokogiri was built against LibXML version 2.9.3, but has dynamically loaded 2.9.2というエラーを受けていましたので、修正することにしました。Gem:nokogiri gemのためのRailsアプリケーションのloaderror

私はこのウェブサイトhttp://www.railsbling.com/posts/fix_nokogiri_warning/を見つけて指示に従いました。

Gem::Ext::BuildError: ERROR: Failed to build gem native extension. 

current directory: 
/Users/me/.rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8/ext/nokogiri 
/Users/me/.rvm/rubies/ruby-2.3.0/bin/ruby -r 
./siteconf20160923-1257-12bvmq6.rb extconf.rb 
Using pkg-config version 1.1.7 
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-darwin15.3.0/ports/libxml2/2.9.4... OK 
Running 'configure' for libxml2 2.9.4... OK 
Running 'compile' for libxml2 2.9.4... ERROR, review 
'/Users/me/.rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8/ext/nokogiri/tmp/x86_64-apple-darwin15.3.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=/Users/me/.rvm/rubies/ruby-2.3.0/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 
/Users/me/.rvm/gems/ruby-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 
/Users/me/.rvm/gems/ruby-2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:337:in 
`chdir' 
from 
/Users/me/.rvm/gems/ruby-2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:337:in 
`execute' 
from 
/Users/me/.rvm/gems/ruby-2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:111:in 
`compile' 
from 
/Users/me/.rvm/gems/ruby-2.3.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:150:in 
`cook' 
    from extconf.rb:364:in `block (2 levels) in process_recipe' 
    from extconf.rb:257:in `block in chdir_for_build' 
    from extconf.rb:256:in `chdir' 
    from extconf.rb:256:in `chdir_for_build' 
    from extconf.rb:363:in `block in process_recipe' 
    from extconf.rb:262:in `tap' 
    from extconf.rb:262:in `process_recipe' 
    from extconf.rb:555:in `<main>' 

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

/Users/me/.rvm/gems/ruby-2.3.0/extensions/x86_64-darwin-15/2.3.0/nokogiri-1.6.8/mkmf.log 

extconf failed, exit code 1 

Gem files will remain installed in 
/Users/me/.rvm/gems/ruby-2.3.0/gems/nokogiri-1.6.8 for inspection. 
Results logged to 
/Users/me/.rvm/gems/ruby-2.3.0/extensions/x86_64-darwin-15/2.3.0/nokogiri-1.6.8/gem_make.out 

An error occurred while installing nokogiri (1.6.8), and Bundler cannot 
continue. 
Make sure that `gem install nokogiri -v '1.6.8'` succeeds before bundling. 
:私は、レールは、レール・サーバのようなコマンドとコンソールをレール実行するたびに今、私は常にエラーは、私は、バンドル私のレールのアプリでインストールを実行すると、私は言って長いエラーログを取得

/Users/me/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/dependency.rb:319:in `to_specs': Could not find 'nokogiri' (>= 1.5.9) among 229 total gem(s) (Gem::LoadError) 

Checked in 'GEM_PATH=/Users/me/.rvm/gems/ruby-2.3.0:/Users/me/.rvm/gems/[email protected]', execute `gem env` for more information 

を言ってます

なぜノコギリが突然の問題を引き起こしているのかよく分かりません。

+0

macOS Sierraにアップグレードするだけで変更しましたか? libxmlを再インストールする必要があります。 –

答えて

2

最近Sierraにアップグレードし、Nokogiriに問題がありました。 nokogiriを再インストールして、適切なMacOSX SDKディレクトリのlibxml2にリンクする必要がありました。

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 
関連する問題