ошибка при установке ruby ​​gem - PullRequest
3 голосов
/ 16 июля 2009

Я пытаюсь установить рубиновый камень. Я получаю эту ошибку.

C:\>gem install racc
Building native extensions.  This could take a while...
ERROR:  Error installing racc:
        ERROR: Failed to build gem native extension.

c:/ruby/bin/ruby.exe extconf.rb install racc
extconf.rb:3:in ``': No such file or directory - uname -p (Errno::ENOENT)
        from extconf.rb:3


Gem files will remain installed in c:/ruby/lib/ruby/gems/1.8/gems/racc-1.4.6 for inspection.
Results logged to c:/ruby/lib/ruby/gems/1.8/gems/racc-1.4.6/ext/racc/cparse/gem_make.out

Я искал этот сайт, но ничего не нашел о нем. Я тоже гуглил и обнаружил, что обновление рубиновых гемов должно решить проблему, но это не так.

У меня есть ruby ​​gems 1.2.0 и ruby ​​1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32], Windows 2003.

Ответы [ 2 ]

4 голосов
/ 20 апреля 2010

Возможно, это не имеет прямого отношения к этому сообщению, но оно помогло мне, и я надеюсь, что может помочь другим, у кого было "Не удалось создать собственное расширение для гемов". ошибка при установке гемов в Windows.

Ребята на rubyinstaller.org предоставляют DevKit (http://rubyinstaller.org/download.html), содержащий GCC, Make и Sh для использования при установке Gems. Я следовал инструкциям по установке (http://wiki.github.com/oneclick/rubyinstaller/development-kit) и привет, пожалуйста). . самоцветы, которые раньше не устанавливались, теперь устанавливаются без ошибок.

Я тестировал установку гема RACC, и у меня не было проблем (хотя у меня нет предыдущего опыта работы с этим гемом; возможно, он был исправлен с тех пор.) Я также тестировал с RCOV (чего я никогда не мог работать правильно) и удалось установить его без ошибок!

Надеюсь, это поможет кому-то там;)

2 голосов
/ 16 июля 2009

Неправильная строка в файле extconf.rb в racc gem такая:

ENV["ARCHFLAGS"] = "-arch #{`uname -p` =~ /powerpc/ ? 'ppc' : 'i386'}"

Поскольку вы не используете PowerPC (если ваша настройка не является необычной :)), вы можете заменить эту строку на:

ENV["ARCHFLAGS"] = "-arch i386"

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

...