windows – sqlite3-ruby gem:无法构建gem本机扩展名

前端之家收集整理的这篇文章主要介绍了windows – sqlite3-ruby gem:无法构建gem本机扩展名前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
更新:查看这个后续问题: 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

那么这个问题是宝石的错误呢?宝石不会自动检测平台并安装最新的兼容版本?

猜你在找的Windows相关文章