проблема с установкой ruby ​​gem json на мой Mac - PullRequest
6 голосов
/ 07 февраля 2010

Я получаю это предупреждение при попытке установить модуль json с помощью ruby ​​gems.

Есть идеи?

Mac-Mini poulh $ sudo gem install json

Пароль:

ВНИМАНИЕ: Файл '/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 /specifications/json-1.2.0.gemspec 'не соответствует спецификации gem

Создание собственных расширений. Это может занять некоторое время ...

ОШИБКА: Ошибка при установке json:

ОШИБКА: не удалось построить собственное расширение для гема.

/ Система / Библиотека / Каркасы / Ruby.framework / Версии / 1.8 / usr / bin / ruby ​​extconf.rb установить json mkmf.rb не может найти заголовочные файлы для ruby ​​на /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h

Ответы [ 3 ]

2 голосов
/ 07 февраля 2010

Я думаю, что большинство разработчиков Mac рекомендуют использовать собственную версию ruby ​​вместо системной версии, поставляемой с Mac. Это даст вам больший контроль над версиями и позволит избежать проблем с окружением, подобных тем, которые вы испытываете.

Это удивительно легко сделать с помощью Ruby Version Manager . Вы можете установить несколько версий ruby ​​(1.8.6, 1.8.7, 1.9.1) и легко переключаться между ними. Как побочный эффект использования rvm, вам больше не придется использовать sudo для установки гемов.

1 голос
/ 03 февраля 2012

Я согласен, что вам следует установить собственную версию ruby ​​и инструменты разработчика XCode, но в сценарии, где вы хотите, чтобы он работал для людей, у которых не установлены эти вещи, переключитесь на гем "json_pure", чисто рубиновая реализация (поэтому не самая быстрая, но супер совместимая).

Требуется, чтобы json использовал его автоматически.

1 голос
/ 08 февраля 2010

У меня работает Snow Leopard, и у меня не было проблем с установкой гема JSON с нативной версией ruby. Похоже, что этот камень компилируется из источника. Вы установили инструменты разработчика XCode с диска OS X?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...