Я пытался запустить gem install json и получил следующую ошибку
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
compiling generator.c
linking shared-object json/ext/generator.bundle
clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
make: *** [generator.bundle] Error 1
make failed, exit code 2
Gem files will remain installed in /opt/boxen/repo/.bundle/ruby/2.0.0/gems/json-1.8.0 for inspection.
Results logged to /opt/boxen/repo/.bundle/ruby/2.0.0/extensions/universal-darwin-13/2.0.0/json-1.8.0/gem_make.out
Я использую:
Os X: 10.9.2
Xcode: 5.1 Версия сборки 5B130a
Инструменты командной строки (CLT): 5.1.0.0.1.1393561416
Ruby: ruby 2.0.0p247 (2013-06-27, версия 41674) [universal.x86_64-darwin13]
Ruby Gem: 2.2 .2
GCC: 4.2.1 Apple LLVM версии 5.1 (clang-503.0.38) (на основе LLVM 3.4svn)
Ответы:
Я столкнулся с той же проблемой после обновления Xcode до 5.1, и новости от Apple не очень хороши. Из примечаний к выпуску Xcode 5.1 :
Кажется, что все драгоценные камни, нарушающие параметры компилятора, должны быть обновлены, чтобы использовать допустимые параметры. Явно заявлено, что: Эта опция [понижение ошибки до предупреждения] не будет поддерживаться в будущем .
Заметка о лязгах, которую мы видим ( это будет серьезная ошибка (не может быть преобразована в предупреждение) в будущем ), соответствует изменению, объявленному в примечаниях к выпуску.
Чтобы конкретно ответить на ваш вопрос, используйте следующее для установки json gem:
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install json
Однако учтите, что это временное исправление.
источник
ARCHFLAGS
дважды: при установке определенных поврежденных гемов и при запуске Bundler.clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future]
Любые идеи?export ARCHFLAGS="..."
, а затем запустить команду компиляции в новой строке, напримерgem install json
(Я сам компилирую модули Python). Кстати, не забудьте добавить в строку ранее существовавшие archflags, иначе они будут перезаписаны.Один лайнер, чтобы исправить это
источник
patching file /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/rbconfig.rb Hunk #1 FAILED at 82. Hunk #2 FAILED at 125. 2 out of 2 hunks FAILED -- saving rejects to file /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/rbconfig.rb.rej
Чтобы решить эту проблему, вы можете установить самую последнюю версию ruby, как описано в @Sash. Для этого вы можете использовать следующие команды. Если вы уже установили rvm, переустанавливать его не нужно.
источник
Проблема уже решена Ruby:
https://bugs.ruby-lang.org/issues/9624
теперь нам просто нужно дождаться, пока Apple обновит свою рубиновую версию (2.0.0p247) до версии, следующей за последней (2.0.0p451), которая еще не вышла ... (или варите / macport)
Обновление (2014-05-15): Mavericks 10.9.3 обновляет рубин до
ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]
И это, похоже, решает проблему.источник
@Muncken уже предоставил ответ на установку гема один за другим:
Основываясь на ответе Мункена, я пробовал, чтобы он также работал при использовании
bundle install
источник
gem install
, я пробовал, этоbundle install
тоже работаетВ моем случае у меня действительно есть аналогичная проблема, но не на системном рубине, а на рубинах, установленном rvm из OSX 10.8, и у него есть проблемы после обновления до OSX 10.9.
Простая переустановка работает:
rvm reinstall ruby-2.1.1
источник
В OSX 10.10 у меня было несколько проблем при запуске,
rails new firstapp
таких как:Я обновил rvm с этой конфигурацией, и все ошибки исчезли !:
По названию приложения видно, что я только начал возиться с Ruby on Rails, поэтому приведенный выше совет может сработать или не сработать для вас.
источник
Острый текст Пола Чечетина, похоже, больше не работает (21.09.15). Однако этот ответ на сообщение, упомянутое в ответе Пита, решил проблему для меня:
sudo gem uninstall compass
sudo gem install compass
источник
gem install json
раз, и это сработало!У меня ничего из этого не сработало.
Наконец, сработало выполнение команды с помощью sudo -
gem установить byebug -v '9.0.6'
источник
Я использовал простое решение ... установить через brew
brew имя установки
источник