1

我上周工作的电脑刚刚死机,所以现在我不得不再次安装 ruby​​ ruby​​ gem 和 Watir。但是这一次 Watir 不会安装。我收到此消息:我不明白错误的含义。请帮忙

C:\Users\kai.knutson\Desktop\Install\Dev Kti>ruby dk.rb init
[INFO] found RubyInstaller v1.9.3 at C:/Ruby193
[INFO] found RubyInstaller v1.9.3 at C:/Ruby193

Initialization complete! Please review and modify the auto-generated
'config.yml' file to ensure it contains the root directories to all
of the installed Rubies you want enhanced by the DevKit.


C:\Users\kai.knutson\Desktop\Install\Dev Kti>gem install watir
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing watir:
        ERROR: Failed to build gem native extension.

        C:/Ruby193/bin/ruby.exe extconf.rb
checking for ffi.h... no
checking for ffi.h in /usr/local/include... no
checking for rb_thread_blocking_region()... yes
checking for ruby_native_thread_p()... yes
checking for rb_thread_call_with_gvl()... yes
creating extconf.h
creating Makefile

make
generating ffi_c-i386-mingw32.def
Configuring libffi
make -C "/c/Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.0.11/ext/ffi_c/libffi"
make[1]: Entering directory `/c/Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.0.11/ext/
ffi_c/libffi'
make "AR_FLAGS=" "CC_FOR_BUILD=" "CFLAGS=" "CXXFLAGS=" "CFLAGS_FOR_BUILD=" "CFLA
GS_FOR_TARGET=" "INSTALL=/usr/bin/install -c" "INSTALL_DATA=/usr/bin/install -c
-m 644" "INSTALL_PROGRAM=/usr/bin/install -c" "INSTALL_SCRIPT=/usr/bin/install -
c" "JC1FLAGS=" "LDFLAGS=" "LIBCFLAGS=" "LIBCFLAGS_FOR_TARGET=" "MAKE=make" "MAKE
INFO=/bin/sh /c/Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.0.11/ext/ffi_c/libffi/mis
sing --run makeinfo " "PICFLAG=" "PICFLAG_FOR_TARGET=" "RUNTESTFLAGS=" "SHELL=/b
in/sh" "exec_prefix=/usr/local" "infodir=/usr/local/share/info" "libdir=/usr/loc
al/lib" "prefix=/usr/local" "AR=ar" "AS=as" "CC=gcc" "CXX=g++" "LD=c:/users/kai.
knutson/desktop/install/dev kti/mingw/mingw32/bin/ld.exe" "NM=/usr/mingw/bin/nm"
 "RANLIB=ranlib" "DESTDIR=" all-recursive
make[2]: Entering directory `/c/Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.0.11/ext/
ffi_c/libffi'
Making all in include
make[3]: Entering directory `/c/Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.0.11/ext/
ffi_c/libffi/include'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/c/Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.0.11/ext/f
fi_c/libffi/include'
Making all in testsuite
make[3]: Entering directory `/c/Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.0.11/ext/
ffi_c/libffi/testsuite'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/c/Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.0.11/ext/f
fi_c/libffi/testsuite'
Making all in man
make[3]: Entering directory `/c/Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.0.11/ext/
ffi_c/libffi/man'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/c/Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.0.11/ext/f
fi_c/libffi/man'
make[3]: Entering directory `/c/Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.0.11/ext/
ffi_c/libffi'
/bin/sh ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -I. -I./inc
lude -Iinclude -I./src  -Wall -g -fexceptions  -c -o src/debug.lo src/debug.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -Wa
ll -g -fexceptions -c src/debug.c  -DDLL_EXPORT -DPIC -o src/.libs/debug.o
/bin/sh ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -I. -I./inc
lude -Iinclude -I./src  -Wall -g -fexceptions  -c -o src/prep_cif.lo src/prep_ci
f.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -Wa
ll -g -fexceptions -c src/prep_cif.c  -DDLL_EXPORT -DPIC -o src/.libs/prep_cif.o

/bin/sh ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -I. -I./inc
lude -Iinclude -I./src  -Wall -g -fexceptions  -c -o src/types.lo src/types.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -Wa
ll -g -fexceptions -c src/types.c  -DDLL_EXPORT -DPIC -o src/.libs/types.o
/bin/sh ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -I. -I./inc
lude -Iinclude -I./src  -Wall -g -fexceptions  -c -o src/raw_api.lo src/raw_api.
c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -Wa
ll -g -fexceptions -c src/raw_api.c  -DDLL_EXPORT -DPIC -o src/.libs/raw_api.o
/bin/sh ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -I. -I./inc
lude -Iinclude -I./src  -Wall -g -fexceptions  -c -o src/java_raw_api.lo src/jav
a_raw_api.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -Wa
ll -g -fexceptions -c src/java_raw_api.c  -DDLL_EXPORT -DPIC -o src/.libs/java_r
aw_api.o
/bin/sh ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -I. -I./inc
lude -Iinclude -I./src  -Wall -g -fexceptions  -c -o src/closures.lo src/closure
s.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -Wa
ll -g -fexceptions -c src/closures.c  -DDLL_EXPORT -DPIC -o src/.libs/closures.o

/bin/sh ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -I. -I./inc
lude -Iinclude -I./src  -Wall -g -fexceptions  -c -o src/x86/ffi.lo src/x86/ffi.
c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -Wa
ll -g -fexceptions -c src/x86/ffi.c  -DDLL_EXPORT -DPIC -o src/x86/.libs/ffi.o
/bin/sh ./libtool   --mode=compile gcc -DHAVE_CONFIG_H -I.  -I. -I./include -Iin
clude -I./src  -I. -I./include -Iinclude -I./src  -c -o src/x86/win32.lo src/x86
/win32.S
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -I.
 -I./include -Iinclude -I./src -c src/x86/win32.S  -DDLL_EXPORT -DPIC -o src/x86
/.libs/win32.o
/bin/sh ./libtool --tag=CC   --mode=link gcc -Wall -g -fexceptions  -version-inf
o `grep -v '^#' ./libtool-version` -no-undefined  -o libffi.la -rpath /usr/local
/lib src/debug.lo src/prep_cif.lo src/types.lo src/raw_api.lo src/java_raw_api.l
o src/closures.lo    src/x86/ffi.lo src/x86/win32.lo
libtool: link: gcc -o .libs/libffi.dll.a  src/.libs/debug.o src/.libs/prep_cif.o
 src/.libs/types.o src/.libs/raw_api.o src/.libs/java_raw_api.o src/.libs/closur
es.o src/x86/.libs/ffi.o src/x86/.libs/win32.o     `echo "X" | /usr/bin/sed -e 1
s/^X// -e 's/ -lc$//'` -link -dll
c:/users/kai.knutson/desktop/install/dev kti/mingw/bin/../lib/gcc/mingw32/4.5.2/
../../../../mingw32/bin/ld.exe: cannot find -link
collect2: ld returned 1 exit status
make[3]: *** [libffi.la] Error 1
make[3]: Leaving directory `/c/Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.0.11/ext/f
fi_c/libffi'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/c/Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.0.11/ext/f
fi_c/libffi'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/c/Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.0.11/ext/f
fi_c/libffi'
make: *** ["/c/Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.0.11/ext/ffi_c/libffi"/.li
bs/libffi_convenience.a] Error 2


Gem files will remain installed in C:/Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.0.1
1 for inspection.
Results logged to C:/Ruby193/lib/ruby/gems/1.9.1/gems/ffi-1.0.11/ext/ffi_c/gem_m
ake.out
4

2 回答 2

1

你完成安装devkit了吗?

根据您提供的内容,您只初始化了 devkit。您仍然需要安装它(https://github.com/oneclick/rubyinstaller/wiki/Development-Kit)。跑:

ruby dk.rb install
于 2012-06-08T20:18:02.883 回答
1

请按照Windows 安装说明进行操作。

请注意:

文档说路径中的空格可能会导致麻烦,这通常是这种情况。安装到 C:\devkit

(您已将 devkit 安装到C:\Users\kai.knutson\Desktop\Install\Dev Kti.)

此外,在ruby dk.rb init您忘记执行ruby dk.rb install.

于 2012-06-08T20:18:50.173 回答