Подтвердить что ты не робот

Когда я пытаюсь установить sudo gem install json, я получаю следующую ошибку

Мне нужно установить JSON gem для запуска моего приложения, но я получаю ошибку ниже всякий раз, когда я пытаюсь установить json gem. Может кто-нибудь мне помочь. Я использую rails 2.2.2 и gems 1.3.1.

Arions-macbook-pro:.ssh arion$ sudo gem install json
Password:
Sorry, try again.
Password:
Building native extensions.  This could take a while...
ERROR:  Error installing json:
    ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb install json
can't find header files for ruby.


Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/json-1.1.4 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/json-1.1.4/ext/json/ext/parser/gem_make.out
4b9b3361

Ответ 1

С помощью Mavericks вы можете решить эту проблему, установив Tools командной строки Xcode из командной строки следующим образом:

xcode-select --install

Обновление: Не забудьте принять лицензионное соглашение после установки или обновления:

sudo xcodebuild -license

Ответ 2

Вам не хватает заголовков разработки ruby. Чтобы установить их на ОС, например, ubuntu, вы должны использовать:

aptitude install ruby1.8-dev

Ответ 3

Если у вас есть эта проблема:

ERROR:  Error installing json:
ERROR: Failed to build gem native extension.

и вы используете Mac с OS X (тестировался с 10.8.1 Mountain Lion), вам нужно скачать Xcode из Mac App Store (или с сайта developer.apple.com, если у вас есть учетная запись разработчика - это бесплатно BTW и вы можете скачать программу установки DMG)

Последние версии Xcode (я использую Xcode 4.4.1) НЕ включают инструменты командной строки. Теперь вам нужно установить этот дополнительный пакет внутри Xcode. После этого ваша проблема исправлена.

Для этого откройте Xcode, выберите "Настройки" > "Загрузки" > "Компоненты". Установите "Инструменты командной строки". Все готово. Теперь вы можете установить json Ruby gem.

enter image description here

Ответ 4

Заголовки ruby ​​не устанавливаются с базовой рубиновой установкой с Mac OS X. Они можно найти в Mac OS X Install Disc 2, установив XCode Tools.

После установки все было хорошо!

ОБНОВЛЕНИЕ. По крайней мере, в OS X 10.7.3 это уже не проблема, она "просто работает"

MacBook-Pro:tmp$ sudo gem install json
Password:
Building native extensions.  This could take a while...
Successfully installed json-1.6.5
1 gem installed
Installing ri documentation for json-1.6.5...
Installing RDoc documentation for json-1.6.5...
MacBook-Pro:tmp$ uname -a

Ответ 5

Установка инструментов командной строки Xcode... должна устранить эту проблему.

Ответ 6

Простой google search показывает следующее:

Если вы не можете найти заголовочные файлы для сообщения об ошибке ruby ​​при попытке создать расширение или драгоценный камень, это означает, что Ruby не может найти файлы заголовков.

Заголовочные файлы по умолчанию не поставляются с Mac OS X, вам необходимо установить пакет Xcode Tools после установки. Его можно найти в каталоге опций Installs/Xcode Tools на DVD-диске Leopard.

Ответ 7

Оказывается, для некоторых камней требуются некоторые файлы заголовков ruby ​​для правильной установки. Эти файлы заголовков не поставляются с Lion (OSX 10.7).

Также выясняется, что Xcode 4 (последняя версия) также не устанавливает эти файлы заголовков. Я попробовал это.

Решение - Предполагая, что вы находитесь в Mac OS X (вы, похоже, основываетесь на выходе терминала). Для его работы я установил gcc с некоторыми инструментами разработчика со следующей страницы

  • Посетите https://github.com/kennethreitz/osx-gcc-installer
  • Прокрутите вниз до README и загрузите соответствующий пакет (для OSX 10.7 или 10.6).
  • Откройте файл .pkg и запустите установщик.

Теперь вы можете установить драгоценные камни либо с помощью gem install, либо bundle install.

Накладные расходы. Если вы беспокоитесь о другом барахле, с которым это связано, вот резюме.

  • gcc - полезно
  • make - полезно
  • clang - полезно для ObjectiveC
  • Инструменты CLI разработчика (чистка и т.д.) - полезны?
  • DevSDK (заголовки и т.д.) - , что вам нужно

Ответ 8

Если вы используете доморощенный, запустите brew doctor. Вы можете узнать, что требуемые библиотеки gcc для компиляции устарели и/или отсутствуют.

Warning: No compiler found in /usr/bin!
Warning: Your Xcode (4.2) is outdated

checking for gcc... /Developer/usr/bin/llvm-gcc
checking whether the C compiler works... no
configure: error: in `/private/tmp/freexl-apNF/freexl-1.0.0d':
configure: error: C compiler cannot create executables

Для пользователей льва и горного льва Apple теперь предоставляет официальный инструмент командной строки для пакета Xcode, который можно установить без необходимости установки самого Xcode! Вы можете загрузить его с сайта разработчика Apple https://developer.apple.com/downloads/index.action. Если вам все еще нужен gcc-4.2, и вы используете Homebrew, вы можете установить его с помощью пакета apple-gcc42 от homebrew/dupes.

Ответ 9

У меня была та же проблема.

Вот мои приключения (надеюсь, это будет полезно):

Чтобы исправить это, я сделал много манипуляций: -)

Я использую Fedora Core. Я исправил его следующим образом:

Я установил rails-devel:

sudo yum install rails-devel

попробовал еще раз:

sudo gem установить рельсы

но у меня есть еще одна проблема:

Создание собственных расширений. Это может занять некоторое время... ОШИБКА: Ошибка установка рельсов: ОШИБКА: Не удалось создать собственное расширение gem.

    /usr/bin/ruby extconf.rb creating Makefile

сделать gcc -I. -I/USR/Lib/рубин/1,8/i386-Linux -I/usr/lib/ruby ​​/1.8/i386-linux -I. -D_FILE_OFFSET_BITS = 64 -fPIC -O2 -g -pipe -Wall -Wp, -D_FORTIFY_SOURCE = 2 -fexceptions -fstack-protector -param = ssp-buffer-size = 4 -m32 -march = i686 -mtune = atom -fasynchronous -unwind-tables -fno-strict-aliasing -fPIC -O3 -Wall -c parser.c make: gcc: команда не найдена

Итак, я установил GCC:

sudo yum install gcc

попробовал еще раз:

sudo gem установить рельсы

Теперь у меня другая проблема))):

Установка документации ri для json-1.6.3... ERROR: при генерации документация для json-1.6.3... MESSAGE: нет такого файла для загрузки - irb/slex... RDOC args: --ri --op /usr/lib/ruby/gems/ 1.8/doc/json-1.6.3/ri --title Выполнение JSON для Ruby --main README.rdoc ext/json/ext ext lib README.rdoc --title json-1.6.3 Документация --quiet

Так установлен ruby-irb:

sudo yum install ruby-irb

попробовал еще раз:

sudo gem установить рельсы

Успешно установленные рельсы-3.1.3

Что все)))

Ответ 10

Вот мое решение:

rvm gem install json -v=xxx

Моя настройка:

OSX Lion
ruby-1.9.3
rvm
gcc-4.2 #=> honestly haven't seen that it been used