Nano Hash - криптовалюты, майнинг, программирование

не могу настроить среду ruby ​​- ошибка при установке fii gem

Я пытаюсь настроить среду для рубинового проекта. Но когда я запускаю «bundle», у меня возникает ошибка при установке драгоценного камня «fii»:


    Installing ffi (1.8.1) 
    Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /Users/bmalets/.rvm/rubies/ruby-1.9.3-p448/bin/ruby extconf.rb 
    checking for ffi.h... *** extconf.rb failed ***
    Could not create Makefile due to some reason, probably lack of
    necessary libraries and/or headers.  Check the mkmf.log file for more
    details.  You may need configuration options.

    /Users/bmalets/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
    You have to install development tools first.

    Gem files will remain installed in /Users/bmalets/.rvm/gems/ruby-1.9.3-p448@api2/gems/ffi-1.8.1 for inspection.
    Results logged to /Users/bmalets/.rvm/gems/ruby-1.9.3-p448@api2/gems/ffi-1.8.1/ext/ffi_c/gem_make.out

    An error occurred while installing ffi (1.8.1), and Bundler cannot continue.
    Make sure that `gem install ffi -v '1.8.1'` succeeds before bundling.


Моя среда:

  • OS_X 10.8.4

  • рубин 1.9.3p448

  • Xcode 4.6.3

  • libffi-3.0.13

Пожалуйста, помогите мне исправить это.

21.07.2013

Ответы:


1

Убедитесь, что у вас установлены Apple Xcode и инструменты командной строки (посмотрите на этот снимок экрана):

https://developer.apple.com/technologies/tools/

После этого не забудьте установить libffi.

1) если вы используете доморощенный

brew install libffi

2) если вы используете макпорт

sudo port install libffi
21.07.2013
  • Это очень распространенная ошибка. Я использую macports, они гораздо более гибкие, чем brew, и прекрасно работают, если вы работаете с Unix. Если нет, то лучше использовать brew. 21.07.2013
  • Я уже установил libffi и Xcode. К сожалению не могу понять в чем проблема((. 21.07.2013
  • @bmalets Возможно, эти шаги помогут: stackoverflow.com/a/10610951/595120 21.07.2013
  • Попробуйте сделать эти шаги. Теперь та же проблема с атомным камнем :D 21.07.2013
  • Вы установили инструменты командной строки для xcode? он доступен через вкладку компонентов в XCode. 21.07.2013
  • Большое спасибо, @gvalmon 21.07.2013
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..