Ruby 无法在windows上安装Watir

Ruby 无法在windows上安装Watir,ruby,rubygems,watir,Ruby,Rubygems,Watir,我们一直在使用ruby和Watir进行自动化工作,但最近我们开始面临一个新问题。我们无法在新机器上安装Watir。 我们安装了ruby 186_27_rc2,然后更新了gems。当前的“gem-v”显示已安装1.3.7。 然而,当我们运行“gem install watir”时,我们得到了一个错误 C:\>gem -v 1.3.7 C:\>gem install watir Building native extensions. This could take a while… E

我们一直在使用ruby和Watir进行自动化工作,但最近我们开始面临一个新问题。我们无法在新机器上安装Watir。 我们安装了ruby 186_27_rc2,然后更新了gems。当前的“gem-v”显示已安装1.3.7。 然而,当我们运行“gem install watir”时,我们得到了一个错误

C:\>gem -v
1.3.7

C:\>gem install watir
Building native extensions. This could take a while…
ERROR: Error installing watir:
ERROR: Failed to build gem native extension.

C:/Ruby/bin/ruby.exe extconf.rb
checking for strncpy_s()… no
creating Makefile

nmake

Microsoft (R) Program Maintenance Utility Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

cl -nologo -I. -I. -IC:/Ruby/lib/ruby/1.8/i386-mswin32 -I. -MD -Zi -O2b2 xg- -G6 -c -Tcwin32/api.c
‘cl’ is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: ‘C:\WINDOWS\system32\cmd.exe’ : return code ’0×1′
Stop.

Gem files will remain installed in C:/Ruby/lib/ruby/gems/1.8/gems/win32-api-1.4. 8 for inspection.
Results logged to C:/Ruby/lib/ruby/gems/1.8/gems/win32-api-1.4.8/ext/gem_make.out
问候
Inder看起来您的路径中缺少了一个命令行工具。 请尝试以下链接:

这可能是由最新的win32 api gem引起的错误。根据错误消息,C扩展源文件API .c(属于Win32 API,WATIR的依赖之一)无法编译,因为C.exe(命令行MS C++编译器)没有找到:

cl-nologo-I-I-IC:/Ruby/lib/Ruby/1.8/i386-mswin32-I-MD-Zi-o2b2xg--G6-c-Tcwin32/api.c

“cl”不被识别为内部或外部命令、可操作程序或批处理文件

正如Iain在回答中所指出的,如果路径中有cl.exe的副本,这可能会起作用,但您可能不需要这样做就可以过得去

在“gem install watir”之前,请尝试安装win32 api的1.4.5版(其中包含预构建的二进制文件),方法是:

有关2010年初的类似情况,请参见此线程:


没有团队,只有社区。
gem install win32-api --version 1.4.5