【发布时间】:2008-09-25 17:06:36
【问题描述】:
这是this question的后续行动。
当我在 Windows 上发出 gem update 命令时,每当它到达
gem 的最新版本没有 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.
至少要求所需平台的旧的 pre-1.x 行为 使更新成为可能。现在我根本无法更新,除非我卸载 麻烦的 gems(目前是 sqlite3-ruby 和 hpricot),运行更新, 然后使用 --version 开关重新安装 gems。
有没有人能解决这个难题,还是我们被困住了?
注意:
$ 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 日):刚刚更新到 gems 1.3.1,问题仍然存在。
注意(2009 年 4 月 28 日):最新版本的 Gems (1.3.2) 现在会跳过在更新期间无法构建原生扩展的所有 Gem;换句话说,问题是固定的。万岁!
【问题讨论】:
-
您是指 2009 年 4 月 28 日吗?还是你追求时间旅行者徽章?
-
如果我想安装一个新的 gem 并且安装时失败了怎么办? Gems 1.3.2 解决了吗??
-
是的,这个问题早就解决了。到今天为止,我们现在是 RubyGems 1.3.7 版。