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

Ошибка: не удалось создать собственное расширение gem при установке рельсов на mac mountian lion os

Недавно я обновился до Mountain Lion и снова установил Ruby, но когда я пытаюсь запустить тестовое Rails-приложение, у меня появляется сообщение об ошибке, в котором говорится, что "Rails в настоящее время не установлена" в моей системе. Я делаю то, что он говорит, введите sudo gem install rails и получим:

cleared faster_require caches due to new gem install...
Successfully installed rails-3.2.7
1 gem installed
Installing ri documentation for rails-3.2.7...
Installing RDoc documentation for rails-3.2.7...

Но когда я проверяю, какая версия rails установлена, вот что я получаю:

Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

Я также пробовал gem install rails и получил:

Building native extensions.  This could take a while...
ERROR:  Error installing rails:
    ERROR: Failed to build gem native extension.

        /Users/aileen/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
creating Makefile

make
compiling generator.c
make: /usr/bin/gcc-4.2: No such file or directory
make: *** [generator.o] Error 1


Gem files will remain installed in /Users/aileen/.rvm/gems/[email protected]/gems/json-1.7.4 for inspection.
Results logged to /Users/aileen/.rvm/gems/[email protected]/gems/json-1.7.4/ext/json/ext/generator/gem_make.out
4b9b3361

Ответ 1

Я вижу, что вы используете ruby ​​1.9.3, используя rvm на OS X 10.8.2 (Горный лев) Возможно, что некоторые драгоценные камни, на которые ссылаются рельсы, нуждаются в gcc-4.2 в /usr/bin, чтобы построить собственное задание.

В Mountain Lion даже после установки инструментов Xcode 4.5 CLI (открытие меню XCode - Предпочтения..Загрузка → Инструменты командной строки) вы получаете /usr/bin/gcc, но не /usr/bin/gcc-4.2; К сожалению, процесс сборки некоторого внутреннего расширения зависит от /usr/bin/gcc -4.2

Однако я просто установил рельсы плавно в такой среде, как ваш. Я ранее исправлял среду, как обсуждалось в сообщении в блоге Carina C. Zona: Исправить для "make:/usr/bin/gcc-4.2: Нет такого файла или каталога" , то есть:

  • убедитесь, что вы установили Homebrew

    brew --version

    должен сообщить 0,9 или больше

    brew update

  • теперь вы можете установить gcc-4.2 и создать ссылку symbolink, которая аспектируется системой сборки

    brew нажмите homebrew/dupes

    brew установить apple-gcc42

    sudo ln -s/usr/local/bin/gcc-4.2/usr/bin/gcc-4.2

  • Теперь вы готовы успешно установить рельсы

    gem install rails

Вы должны вывести что-то вроде этого

Fetching: i18n-0.6.1.gem (100%)
Fetching: activesupport-3.2.8.gem (100%)
Fetching: builder-3.0.4.gem (100%)
Fetching: activemodel-3.2.8.gem (100%)
Fetching: rack-cache-1.2.gem (100%)
Fetching: rack-test-0.6.2.gem (100%)
Fetching: journey-1.0.4.gem (100%)
Fetching: hike-1.2.1.gem (100%)
Fetching: sprockets-2.1.3.gem (100%)
Fetching: erubis-2.7.0.gem (100%)
Fetching: actionpack-3.2.8.gem (100%)
Fetching: arel-3.0.2.gem (100%)
Fetching: tzinfo-0.3.34.gem (100%)
Fetching: activerecord-3.2.8.gem (100%)
Fetching: activeresource-3.2.8.gem (100%)
Fetching: polyglot-0.3.3.gem (100%)
Fetching: treetop-1.4.12.gem (100%)
Fetching: mail-2.4.4.gem (100%)
Fetching: actionmailer-3.2.8.gem (100%)
Fetching: rack-ssl-1.3.2.gem (100%)
Fetching: railties-3.2.8.gem (100%)
Fetching: rails-3.2.8.gem (100%)
Successfully installed i18n-0.6.1
Successfully installed activesupport-3.2.8
Successfully installed builder-3.0.4
Successfully installed activemodel-3.2.8
Successfully installed rack-cache-1.2
Successfully installed rack-test-0.6.2
Successfully installed journey-1.0.4
Successfully installed hike-1.2.1
Successfully installed sprockets-2.1.3
Successfully installed erubis-2.7.0
Successfully installed actionpack-3.2.8
Successfully installed arel-3.0.2
Successfully installed tzinfo-0.3.34
Successfully installed activerecord-3.2.8
Successfully installed activeresource-3.2.8
Successfully installed polyglot-0.3.3
Successfully installed treetop-1.4.12
Successfully installed mail-2.4.4
Successfully installed actionmailer-3.2.8
Successfully installed rack-ssl-1.3.2
Successfully installed railties-3.2.8
Successfully installed rails-3.2.8
22 gems installed
Installing ri documentation for i18n-0.6.1...
Building YARD (yri) index for i18n-0.6.1...
Installing ri documentation for activesupport-3.2.8...
Building YARD (yri) index for activesupport-3.2.8...
Installing ri documentation for builder-3.0.4...
Building YARD (yri) index for builder-3.0.4...
Installing ri documentation for activemodel-3.2.8...
Building YARD (yri) index for activemodel-3.2.8...
Installing ri documentation for rack-cache-1.2...
Building YARD (yri) index for rack-cache-1.2...
Installing ri documentation for rack-test-0.6.2...
Building YARD (yri) index for rack-test-0.6.2...
Installing ri documentation for journey-1.0.4...
Building YARD (yri) index for journey-1.0.4...
Installing ri documentation for hike-1.2.1...
Building YARD (yri) index for hike-1.2.1...
Installing ri documentation for sprockets-2.1.3...
Building YARD (yri) index for sprockets-2.1.3...
Installing ri documentation for erubis-2.7.0...
Building YARD (yri) index for erubis-2.7.0...
Installing ri documentation for actionpack-3.2.8...
Building YARD (yri) index for actionpack-3.2.8...
Installing ri documentation for arel-3.0.2...
Building YARD (yri) index for arel-3.0.2...
Installing ri documentation for tzinfo-0.3.34...
Building YARD (yri) index for tzinfo-0.3.34...
Installing ri documentation for activerecord-3.2.8...
Building YARD (yri) index for activerecord-3.2.8...
Installing ri documentation for activeresource-3.2.8...
Building YARD (yri) index for activeresource-3.2.8...
Installing ri documentation for polyglot-0.3.3...
Building YARD (yri) index for polyglot-0.3.3...
Installing ri documentation for treetop-1.4.12...
Building YARD (yri) index for treetop-1.4.12...
Installing ri documentation for mail-2.4.4...
Building YARD (yri) index for mail-2.4.4...
Installing ri documentation for actionmailer-3.2.8...
Building YARD (yri) index for actionmailer-3.2.8...
Installing ri documentation for rack-ssl-1.3.2...
Building YARD (yri) index for rack-ssl-1.3.2...
Installing ri documentation for railties-3.2.8...
Building YARD (yri) index for railties-3.2.8...
Installing ri documentation for rails-3.2.8...
Building YARD (yri) index for rails-3.2.8...
Installing RDoc documentation for i18n-0.6.1...
Installing RDoc documentation for activesupport-3.2.8...
Installing RDoc documentation for builder-3.0.4...
Installing RDoc documentation for activemodel-3.2.8...
Installing RDoc documentation for rack-cache-1.2...
Installing RDoc documentation for rack-test-0.6.2...
Installing RDoc documentation for journey-1.0.4...
Installing RDoc documentation for hike-1.2.1...
Installing RDoc documentation for sprockets-2.1.3...
Installing RDoc documentation for erubis-2.7.0...
Installing RDoc documentation for actionpack-3.2.8...
Installing RDoc documentation for arel-3.0.2...
Installing RDoc documentation for tzinfo-0.3.34...
Installing RDoc documentation for activerecord-3.2.8...
Installing RDoc documentation for activeresource-3.2.8...
Installing RDoc documentation for polyglot-0.3.3...
Installing RDoc documentation for treetop-1.4.12...
Installing RDoc documentation for mail-2.4.4...
Installing RDoc documentation for actionmailer-3.2.8...
Installing RDoc documentation for rack-ssl-1.3.2...
Installing RDoc documentation for railties-3.2.8...
Installing RDoc documentation for rails-3.2.8...

Ответ 2

@Franco верен: сценарии сборки "native extension" ожидают /usr/bin/gcc-4.2, чего не существует в OS X Mountain Lion.

  • Если вы обновлены до Mountain Lion из версии OS OS prevoius, у вас может уже быть gcc. В этом случае просто создайте символическую ссылку на gcc: sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
  • Если у вас есть новая установка Mountain Lion, вы можете вообще не иметь gcc. В этом случае вам нужно установить gcc, как объясняет @Franco.

Это не конкретная проблема с "рельсами". Любой камень, который создает "собственные расширения", терпит неудачу:

Gem:: Installer:: ExtensionBuildError: ERROR: Не удалось создать собственное расширение gem. [...] Сначала вы должны установить средства разработки.

В моем случае я пытался установить octopress, что зависит от того, что называется RedCloth.

Ответ 3

Я столкнулся с этим вопросом и с Mountain Lion. Поврежденный камень был json. Чтобы исправить это, я установил инструменты CLI xcode, а затем просто связал установленный gcc (i686-apple-darwin11-llvm-gcc-4.2) как /usr/bin/gcc-4.2. Как только это было сделано, оно просто сработало.

При попытке установить другой драгоценный камень я столкнулся с аналогичной проблемой, где нативный шаг сборки жаловался на отсутствие g++ - 4.2. Я сопоставлял это точно так же, как и с gcc-4.2 выше, и это сработало.

ОБНОВЛЕНИЕ: OSX Mavericks с последним RVM

С последними версиями OSX 10.9 и новейшими RVM эти проблемы, похоже, ушли. Итак, время для обновления.

Ответ 4

Попробуйте выполнить this сначала

Он предполагает, что у вас уже есть доморощенный. Если вы этого не сделаете, вы можете получить его от здесь