Это продолжение этого вопроса.
Когда я запускаю команду gem update
в Windows, всякий раз, когда она попадает на драгоценный камень, последняя версия которого НЕ имеет двоичных файлов Windows, она пытается создать собственное расширение, которое, конечно же, потерпит неудачу. Например:
Updating sqlite3-ruby
Building native extensions. This could take a while...
ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError)
ERROR: Failed to build gem native extension.
c:/ruby/bin/ruby.exe extconf.rb update
checking for fdatasync() in rt.lib... no
checking for sqlite3.h... no
nmake
'nmake' is not recognized as an internal or external command,
operable program or batch file.
Старое поведение до 1.x с запросом необходимой платформы, по крайней мере, сделало возможным обновление. Теперь я вообще не могу обновиться, пока не удалю проблемные гемы (в настоящее время sqlite3-ruby и hpricot), не запущу обновление, а затем переустановлю гемы с помощью переключателя --version.
У кого-нибудь есть решение этой головоломки или мы застряли с этим?
Примечание.
$ gem -v
1.2.0
$ ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
Примечание (26 сентября 2008 г.): я только что обновился до gems 1.3.0, и эта проблема не устранена.
Примечание (18 ноября 2008 г.): только что обновился до gems 1.3.1, и проблема не устранена.
Примечание (28 апреля 2009 г.): последняя версия Gems (1.3.2) теперь пропускает все драгоценные камни, в которых происходит сбой сборки собственных расширений во время обновления; Другими словами, проблема устранена. Ура!