MacOS не может установить Jekyll Gem - PullRequest
0 голосов
/ 02 марта 2019

Я попробовал все, чтобы попытаться установить драгоценный камень jekyll.Я удалил / переустановил rbenv, установил ruby ​​2.6.1, установил его как глобальный, запускаю xcode-select --install около 1000 раз, запускаю xcode-select --switch /Library/Developer/CommandLineTools и gem update --system среди различных других исправлений переполнения стека.Ни один из которых не работал.Каждый раз, я получаю это знакомое сообщение об ошибке:

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

    current directory: /usr/local/lib/ruby/gems/2.6.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser
/usr/local/opt/ruby/bin/ruby -I 
/usr/local/Cellar/ruby/2.6.1/lib/ruby/2.6.0 -r ./siteconf20190302-90413-16ok71q.rb extconf.rb
creating Makefile

current directory: /usr/local/lib/ruby/gems/2.6.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser
make "DESTDIR=" clean

current directory: /usr/local/lib/ruby/gems/2.6.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser
make "DESTDIR="
compiling ruby_http_parser.c
In file included from ruby_http_parser.c:1:
In file included from /usr/local/Cellar/ruby/2.6.1/include/ruby-2.6.0/ruby.h:33:
In file included from /usr/local/Cellar/ruby/2.6.1/include/ruby-2.6.0/ruby/ruby.h:29:
/usr/local/Cellar/ruby/2.6.1/include/ruby-2.6.0/ruby/defines.h:123:10: fatal error: 'stdio.h' file not found
#include <stdio.h>
         ^~~~~~~~~
1 error generated.
make: *** [ruby_http_parser.o] Error 1

make failed, exit code 2

Gem files will remain installed in /usr/local/lib/ruby/gems/2.6.0/gems/http_parser.rb-0.6.0 for inspection.
Results logged to 
/usr/local/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-18/2.6.0/http_parser.rb-0.6.0/gem_make.out

РЕДАКТИРОВАТЬ:

Я использую MacOS 10.14, и это моя среда драгоценного камня:

RubyGems Environment:
  - RUBYGEMS VERSION: 3.0.2
  - RUBY VERSION: 2.6.1 (2019-01-30 patchlevel 33) [x86_64-darwin18]
  - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/2.6.0
  - USER INSTALLATION DIRECTORY: /Users/<username>/.gem/ruby/2.6.0
  - RUBY EXECUTABLE: /usr/local/opt/ruby/bin/ruby
  - GIT EXECUTABLE: /usr/bin/git
  - EXECUTABLE DIRECTORY: /usr/local/lib/ruby/gems/2.6.0/bin
  - SPEC CACHE DIRECTORY: /Users/<username>/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: 
    /usr/local/Cellar/ruby/2.6.1/etc
  - RUBYGEMS PLATFORMS:
        - ruby
        - x86_64-darwin-18
  - GEM PATHS:
        - /usr/local/lib/ruby/gems/2.6.0
        - /Users/<username>/.gem/ruby/2.6.0
        - /usr/local/Cellar/ruby/2.6.1/lib/ruby/gems/2.6.0
  - GEM CONFIGURATION:
        - :update_sources => true
        - :verbose => true
        - :backtrace => false
        - :bulk_threshold => 1000
  - REMOTE SOURCES:
        - https://rubygems.org/
  - SHELL PATH:
        - /usr/local/opt/ruby/bin
        - /bin
        - /Users/<username>/.rbenv/shims
        - /Users/<username>/.rbenv/bin
        - /Library/Frameworks/Python.framework/Versions/3.6/bin
        - /usr/local/bin
        - /usr/bin
        - /bin
        - /usr/sbin
        - /sbin
        - /opt/X11/bin
        - /usr/local/share/dotnet
        - /usr/local/go/bin
        - /Users/<username>/.rbenv/bin
        - /Users/<username>/.rbenv/shims
        - /Users/<username>/.rbenv/shims
        - /Users/<username>/.rbenv/bin
        - /Library/Frameworks/Python.framework/Versions/3.6/bin
        - /usr/local/bin
        - /usr/bin
        - /bin
        - /usr/sbin
        - /sbin
        - /usr/local/go/bin
        - /usr/local/share/dotnet
        - /opt/X11/bin
        - /Users/<username>/.rbenv/bin
        - /Users/<username>/.rbenv/shims
        - /bin

Не уверенпочему в моем $ PATH столько дубликатов, но, вероятно, из-за моего bash_profile.

1 Ответ

0 голосов
/ 03 марта 2019

Похоже, что ваша установка PATH загружает системный ruby, а не ваш rbenv ruby.

Попробуйте удалить эту строку из вашего .bash_profile, поскольку вы не хотите использовать системный ruby, а версию из RBENV.

/usr/local/opt/ruby/bin

Если это не сработает, яне уверен, почему у вас так много дубликатов на вашем пути, возможно, из-за нескольких попыток использовать RBENV.

Я бы предложил сначала переустановить RBENV.Сначала вам нужно удалить RBENV , выполнив следующие действия:

grep rbenv ~/.bashrc ~/.bash_profile ~/.zshrc /etc/profile /etc/profile.d/*

Удалите все строки, связанные с RBENV, в файлах, которые могут иметь их.

Удалите rbenv

rm -rf ~/.rbenv 

Если вы использовали homebrew для установки rbenv, тогда

brew uninstall rbenv

Затем brew doctor и посмотрите, нет ли еще каких-либо проблемных вопросов.

Закройте все работающие терминалы, затем откройте новый.Затем снова проверьте gem env, и вы увидите более чистое состояние, в котором RBENV не имеет ничего, кроме вашего системного рубина.

Или, если вы предпочитаете, вместо этого вы можете сначала попробовать RVM, чтобы сделать это, см. https://rvm.io/rvm/install

После этого может потребоваться перезапустить терминал, затем перейти в папку проекта вашего посредника и запустить

bundle install
...