2011-02-07 106 views
2

我们正在使用ruby和Watir进行自动化工作,但最近我们开始面临一个新问题。我们无法在新机器上安装Watir。 我们安装了ruby 186_27_rc2,然后更新了宝石。目前'gem-v'显示安装了1.3.7。 但是当我们运行“宝石安装的Watir”,我们得到错误无法在windows上安装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 

问候 因德尔

+0

没有团队,只是社区。 – mauris 2011-02-07 06:30:15

回答

3

这可能是由最新的win32-api gem引起的错误。根据您的错误消息,C扩展源文件api.c(属于winti-api,Watir的一个依赖项)无法编译,因为找不到cl.exe(命令行MS C++编译器):

cl -nologo -I。 -一世。 -IC:/Ruby/lib/ruby/1.8/i386-mswin32 -I。 -MD -Zi -O2b2 xg- -G6 -c -Tcwin32/api.c

'cl'不被识别为内部或外部命令,可操作程序或批处理文件。

正如在Iain的回答中指出的,如果你在PATH中有一个cl.exe的副本,那么这可能会起作用,但你可能没有那样做。

你“创业板安装的Watir”之前,尝试安装Win32的API(包含预编译的二进制)的1.4.5版本:

gem install win32-api --version 1.4.5 

看到这个线程在2010年初类似的情况:

http://groups.google.com/group/watir-general/browse_thread/thread/9873479c1a430137