Когда я пытаюсь установить 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
Ответы
Ответ 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 с некоторыми инструментами разработчика со следующей страницы
Теперь вы можете установить драгоценные камни либо с помощью 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