更新:查看这个后续问题:
Gem Update on Windows – is it broken?
在Windows上,当我这样做:
gem install sqlite3-ruby
我收到以下错误:
Building native extensions. This could take a while... ERROR: Error installing sqlite3-ruby: ERROR: Failed to build gem native extension. c:/ruby/bin/ruby.exe extconf.rb install sqlite3-ruby --platform Win32 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. Gem files will remain installed in c:/ruby/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4 for inspection. Results logged to c:/ruby/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/ext/sqlite3_api/gem_make.out
同样的事情发生在hpricot宝石。我似乎记得这些宝石安装好了, 1.0宝石,但现在我在1.2.0,事情已经搞砸了。
我也试过这个:
gem install sqlite3-ruby --platform Win32
不用说,这不工作(同样的错误)
有谁知道这里发生了什么,如何解决这个问题?
更新:查看这个后续问题:Gem Update on Windows – is it broken?
正如Nathan所说,这似乎与最新版本的sqlite3-ruby和hpricot gems似乎没有Windows版本相关。在面对这种情况时,请执行以下操作(请注意,gem的名称自动通配,因此您可以键入sql并获取以sql开头的所有gem的列表):
$ gem list --remote --all sqlite *** REMOTE GEMS *** sqlite (2.0.1,2.0.0,1.3.1,1.3.0,1.2.9.1,1.2.0,1.1.3,1.1.2,1.1.1,1.1) sqlite-ruby (2.2.3,2.2.2,2.2.1,2.2.0,2.1.0,2.0.3,2.0.2) sqlite3-ruby (1.2.4,1.2.3,1.2.2,1.2.1,1.1.0,1.0.1,1.0.0,0.9.0,0.6.0,0.5.0)
然后,您可以选择要安装的版本:
gem install sqlite3-ruby -v 1.2.3
要成功安装hpricot,我这样做:
gem install hpricot -v 0.6
令人讨厌的是,做一个宝石更新尝试更新宝石到最新的,破碎的Windows,版本。当更新例程遇到错误时,它会从整个过程中脱离出来。这个问题有一个(黑客)解决方案here。