2017-04-17 8 views
0

ich den Anweisungen hier folgende war: http://installrails.com/Ruby on Rails auf MacOS Sierra nicht installieren

(ich habe auch versucht, statt rvm mit rbenv)

Nach

Eingabe
sudo gem install rails 

dies der Fehler, den ich erhalte:

Building native extensions. This could take a while... ERROR: Error installing rails:  ERROR: Failed to build gem native extension. 

    current directory: /usr/local/lib/ruby/gems/2.4.0/gems/nokogiri-1.7.1/ext/nokogiri /usr/local/opt/ruby/bin/ruby -r ./siteconf20170417-52755-r3zm64.rb extconf.rb 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 with the following patches applied: 
    - 0001-Fix-comparison-with-root-node-in-xmlXPathCmpNodes.patch 
    - 0002-Fix-XPointer-paths-beginning-with-range-to.patch 
    - 0003-Disallow-namespace-nodes-in-XPointer-ranges.patch 

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.6.0/ports/libxml2/2.9.4... OK Running git apply with /usr/local/lib/ruby/gems/2.4.0/gems/nokogiri-1.7.1/patches/libxml2/0001-Fix-comparison-with-root-node-in-xmlXPathCmpNodes.patch... OK Running git apply with /usr/local/lib/ruby/gems/2.4.0/gems/nokogiri-1.7.1/patches/libxml2/0002-Fix-XPointer-paths-beginning-with-range-to.patch... OK Running git apply with /usr/local/lib/ruby/gems/2.4.0/gems/nokogiri-1.7.1/patches/libxml2/0003-Disallow-namespace-nodes-in-XPointer-ranges.patch... OK Running 'configure' for libxml2 2.9.4... OK Running 'compile' for libxml2 2.9.4... ERROR, review '/usr/local/lib/ruby/gems/2.4.0/gems/nokogiri-1.7.1/ext/nokogiri/tmp/x86_64-apple-darwin15.6.0/ports/libxml2/2.9.4/compile.log' to see what happened. Last lines are: 
======================================================================== /usr/local/lib/ruby/gems/2.4.0/gems/make-0.3.1/bin/make:4:in `<top (required)>': undefined local variable or method `make' for main:Object (NameError)  from /usr/local/bin/make:22:in `load' from /usr/local/bin/make:22:in `<main>' 
======================================================================== 
*** 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=/usr/local/Cellar/ruby/2.4.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 /usr/local/lib/ruby/gems/2.4.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 /usr/local/lib/ruby/gems/2.4.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:337:in `chdir' from /usr/local/lib/ruby/gems/2.4.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:337:in `execute'  from /usr/local/lib/ruby/gems/2.4.0/gems/mini_portile2-2.1.0/lib/mini_portile2/mini_portile.rb:111:in `compile'  from /usr/local/lib/ruby/gems/2.4.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:547:in `<main>' 

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

    /usr/local/lib/ruby/gems/2.4.0/extensions/x86_64-darwin-15/2.4.0/nokogiri-1.7.1/mkmf.log 

extconf failed, exit code 1 

Gem files will remain installed in /usr/local/lib/ruby/gems/2.4.0/gems/nokogiri-1.7.1 for inspection. Results logged to /usr/local/lib/ruby/gems/2.4.0/extensions/x86_64-darwin-15/2.4.0/nokogiri-1.7.1/gem_make.out 

Und die mkmf.log-Datei sagt

"clang -o conftest 
-I/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0/x86_64-darwin15 -I/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0/ruby/backward -I/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0 -I. -I/usr/local/opt/libyaml/include -I/usr/local/opt/openssl/include -I/usr/local/opt/readline/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 -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -fno-common -pipe conftest.c -L. -L/usr/local/Cellar/ruby/2.4.0/lib 
-L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L. -fstack-protector -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib  -lruby.2.4.0 -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/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0/x86_64-darwin15 -I/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0/ruby/backward -I/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0 -I. -I/usr/local/opt/libyaml/include -I/usr/local/opt/openssl/include -I/usr/local/opt/readline/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 -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -fno-common -pipe -Werror -c conftest.c" checked program was: /* begin */ 1: #include "ruby.h" 2: 3: int main() {return 0;} /* end */ 

"clang 
-I/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0/x86_64-darwin15 -I/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0/ruby/backward -I/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0 -I. -I/usr/local/opt/libyaml/include -I/usr/local/opt/openssl/include -I/usr/local/opt/readline/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 -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -fno-common -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/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0/x86_64-darwin15 -I/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0/ruby/backward -I/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0 -I. -I/usr/local/opt/libyaml/include -I/usr/local/opt/openssl/include -I/usr/local/opt/readline/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 -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -fno-common -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/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0/x86_64-darwin15 -I/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0/ruby/backward -I/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0 -I. -I/usr/local/opt/libyaml/include -I/usr/local/opt/openssl/include -I/usr/local/opt/readline/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 -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -fno-common -pipe conftest.c -L. -L/usr/local/Cellar/ruby/2.4.0/lib 
-L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L. -fstack-protector -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib  -lruby.2.4.0 -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/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0/x86_64-darwin15 -I/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0/ruby/backward -I/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0 -I. -I/usr/local/opt/libyaml/include -I/usr/local/opt/openssl/include -I/usr/local/opt/readline/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 -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -fno-common -pipe conftest.c -L. -L/usr/local/Cellar/ruby/2.4.0/lib 
-L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L. -fstack-protector -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib  -lruby.2.4.0 -lpthread -ldl -lobjc " Undefined symbols for architecture x86_64: "_iconv", referenced from: 
     _main in conftest-d8bec7.o "_iconv_open", referenced from: 
     _main in conftest-d8bec7.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/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0/x86_64-darwin15 -I/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0/ruby/backward -I/usr/local/Cellar/ruby/2.4.0/include/ruby-2.4.0 -I. -I/usr/local/opt/libyaml/include -I/usr/local/opt/openssl/include -I/usr/local/opt/readline/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 -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -fno-common -pipe conftest.c -L. -L/usr/local/Cellar/ruby/2.4.0/lib 
-L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L. -fstack-protector -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib  -lruby.2.4.0 -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 */ 

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

Ich fühle mich wie ich alles versucht habe - bitte helfen!

+0

Haben Sie xcode Kommandozeilen-Tools installiert? –

+0

Ich habe gerade nach Sierra aktualisiert und musste xcode neu installieren, um Nokogiri oder Anthing wirklich zu kompilieren. Die Installation der App ist ausreichend, da die meisten Header-Dateien installiert werden. Sie brauchen nur die Kommandozeilen-Tools, wenn Sie Objective-C oder Swift kompilieren wollen. Nach der Installation von xcode läuft 'gem install nokogiri' ohne die '--use-system-libraries' Option einwandfrei. – max

+0

xcode ist auf dem neuesten Stand und ich habe installiert CLT – Sophia

Antwort

0

Versuchen Installation nokogiri manuell

brew install libxml2 libxslt 

gem install nokogiri -v '1.7.1' -- --use-system-libraries --with-xml2-include=/usr/local/opt/libxml2/include/libxml2 
+0

immer noch "Fehler: Fehler beim Erstellen gem native Erweiterung." und "make failed, exit code 1" – Sophia

0

Haben Sie, wenn Command Line Tools, um zu sehen geprüft installiert sind? Oft wird Nokogiri nicht installiert, wenn es keinen c-Compiler gibt.

Typ: $ xcode-select -p

Wenn Sie sehen: /Applications/Xcode.app/Contents/Developer Das vollständige Xcode-Paket ist bereits installiert.

Typ gcc Sie sollten eine Warnung sehen: enter image description here

Alternativ können Sie einen Befehl verwenden, um Xcode Kommandozeilen-Tools zu installieren. Es wird eine ähnliche Alarmbox erzeugen. Hinweis: der doppelten Bindestrich:

$ xcode-select --install

, die helfen könnten

+0

Ich habe CLT bereits installiert – Sophia