Atualização de gem no Windows - está quebrado?
Este é um follow-up paraessa questão.
Quando eu emito ogem update
comando no Windows, sempre que chegar a uma jóia cuja versão mais recente não tem binários do Windows, ele vai tentar construir a extensão nativa que, naturalmente, falhará. Por exemplo:
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.
O antigo comportamento pré-1.x de pedir a plataforma necessária pelo menos tornava possível a atualização. Agora eu não posso atualizar a menos que eu desinstale as gemas problemáticas (atualmente sqlite3-ruby e hpricot), execute a atualização e reinstale as gemas usando a opção --version.
Alguém tem uma solução para esse enigma ou estamos presos a ele?
Nota:
$ gem -v
1.2.0
$ ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]
Nota (26 de setembro de 2008): Acabei de atualizar para gemas 1.3.0 e este problema persiste.
Nota (18 de novembro de 2008): Acabei de atualizar para as gemas 1.3.1 e o problema persiste.
Nota (28 de abril de 2009): A última versão do Gems (1.3.2agora pula todas as gemas onde a construção de extensões nativas falha durante a atualização; Em outras palavras, o problema é fixo. Viva!