Не удалось создать собственное расширение для gem - extconf.rb не найден - PullRequest
4 голосов
/ 11 июня 2010

При попытке установить

'bcrypt-ruby', :lib => 'bcrypt'

и

'hpricot'

я получаю это в обоих случаях (используя Windows XP)

C:/Ruby/bin/ruby.exe: No such file or directory -- extconf.rb (LoadError)

Я установил отсюдаhttp://rubyinstaller.org/downloads/ Rb 1.8.6, включая devkit

какие-нибудь советы? Спасибо

Ответы [ 3 ]

11 голосов
/ 20 апреля 2011

Теперь в RubyInstaller Wiki есть запись, которая решает эту потенциальную проблему:

Используя командную строку, вызывайте следующие команды:

REG QUERY "HKCU\Software\Microsoft\Command Processor"
REG QUERY "HKLM\Software\Microsoft\Command Processor"

Выполните каждую строку индивидуально.Как только вы запустите его, вы увидите что-то вроде этого:

HKEY_CURRENT_USER\Software\Microsoft\Command Processor
    CompletionChar    REG_DWORD    0x9
    DefaultColor    REG_DWORD    0x0
    EnableExtensions    REG_DWORD    0x1
    PathCompletionChar    REG_DWORD    0x9

Столбцы с информацией - это Ключ, Тип и Значение.Если вы видите ключ с именем AutoRun, есть вероятность, что это является причиной ошибки, которую вы получаете.AutoRun мешает работе Ruby с запуском дочернего процесса и, как следствие, влияет на установку gem.Удалите его с помощью следующей команды:

REG DELETE "HKCU\Software\Microsoft\Command Processor" /v AutoRun

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

0 голосов
/ 17 марта 2015

Если приведенный выше ответ Райана Бартона не сработал, попробуйте это.Он также был извлечен из RubyInstaller Wiki

Используя командную строку, выполните следующую команду:

SET COMSPEC

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

ComSpec=C:\Windows\system32\cmd.exe

Если в выводе есть что-то отличное от cmd.exe в качестве исполняемого файла, пожалуйста, настройте его на использование cmd.exe.Обратите внимание, что переменная должна содержать полный путь к исполняемому файлу cmd.exe и относительные пути не будут выполнены.

Некоторые инструменты могут изменить команду вашего командного процессора, что мешает Ruby вызывать дочерние процессы.

Необработанная переменная (которую вы найдете в Свойствах системы - Переменные среды): %SystemRoot%\system32\cmd.exe

Измените ее и попробуйте снова установить гем.

0 голосов
/ 11 июня 2010

Хм, моя установка RubyInstaller + DevKit работала нормально с первой попытки.Итак, пара идей:

1.) Вы запустили Gem с ярлыка «Запуск командной строки с Ruby»?(Это обеспечит включение правильных путей и тому подобного.)

2.) Вы уверены, что DevKit установлен правильно?Оба этих драгоценных камня включают файл extconf.rb , но Gem все равно захлебнется, если ожидаемые инструменты разработки не будут сразу доступны.

(... В противном случае RubyInstallсписок рассылки может быть лучшим местом для поиска помощи для этого - или для автора драгоценного камня, но, похоже, он не «делает» Windows.)

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