这是这个问题的后续行动.
当我gem update
在Windows上发出命令时,每当它到达最新版本没有Windows二进制文件的gem时,它将尝试构建本机扩展,当然这将失败.例如:
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]
注意(2008年9月26日):我刚刚更新到gems 1.3.0并且此问题仍然存在.
注意(2008年11月18日):刚刚更新到宝石1.3.1并且问题仍然存在.
注意(2009年4月28日):最新版本的Gems(1.3.2)现在跳过了更新过程中构建本机扩展失败的任何宝石; 换句话说,问题是固定的.万岁!