capybara-webkit(0.8.0)无法在窗口7上构建

时间:2012-07-14 00:45:53

标签: window capybara-webkit

我是新手。我正在尝试在窗口7上构建带有本机扩展的capybara-webkit(0.8.0)。我已经安装了(路径集):RubyMine,Ruby SDK和Gems,Rails,DevKit,Qt,gmake,g ++。但我仍然收到以下错误信息。任何帮助是极大的赞赏。

$ gem install capybara-webkit -v'0.8.0' 暂时增强PATH以包括DevKit ...... 构建原生扩展。这可能需要一段时间...... 错误:安装capybara-webkit时出错:         错误:无法构建gem原生扩展。

    c:/Ruby193/bin/ruby.exe extconf.rb

C:\ Qt的\ 4.8.2 \ BIN \ qmake.EXE C:\作\ gmake.EXE cd src /&& c:/Qt/4.8.2/bin/qmake.exe c:/Ruby193/lib/ruby/gems/1.9.1/gems/capybara-webkit-0.8.0/src/webkit_server.pro -spec c:/ Qt /4.8.2/mkspecs/macx-g++ -o Makef \ ile.webkit_server C:\作\ gmake.EXE cd src /&& gmake -f Makefile.webkit_server gmake [1]:输入目录`c:/Ruby193/lib/ruby/gems/1.9.1/gems/capybara-webkit-0.8.0/src' g ++ -c -pipe -g -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -Ic:/Qt/4.8.2/mkspecs/macx-g++ -I。 -Ic:/Qt/4.8.2/include/QtCore -Ic:/Qt/4.8.2/include/QtNetwork -Ic:/Qt/4.8.2/include/QtGui -Ic:/Qt/4.8.2/include / QtWebKit -Ic:/Qt/4.8.2/include -I。 -o RequestedUrl.o RequestedUrl.cpp process_begin:CreateProcess((null),g ++ -c -pipe -g -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -Ic:/Qt/4.8.2/mkspecs/macx -g ++ -I。-Ic:/Qt/4.8.2/include/QtCore -Ic:/Qt/4.8.2/include/QtNetwork -Ic:/Qt/4.8.2/include/QtGui -Ic:/ Qt / 4.8.2 / include / QtWebKit -Ic:/Qt/4.8.2/include -I.-o RequestedUrl.o Req uestedUrl.cpp,...)失败了。 make(e = 2):系统找不到指定的文件。

gmake [1]: * [RequestedUrl.o]错误2 gmake [1]:离开目录c:/Ruby193/lib/ruby/gems/1.9.1/gems/capybara-webkit-0.8.0/src' c:/Ruby193/lib/ruby/1.9.1/fileutils.rb:1515:in stat':没有这样的文件或目录   - src / webkit_server(Errno :: ENOENT)         来自c:/Ruby193/lib/ruby/1.9.1/fileutils.rb:1515:in block in fu_each_src_dest' from c:/Ruby193/lib/ruby/1.9.1/fileutils.rb:1529:in fu_each_src_dest0'         来自c:/Ruby193/lib/ruby/1.9.1/fileutils.rb:1513:in fu_each_src_dest' from c:/Ruby193/lib/ruby/1.9.1/fileutils.rb:395:in cp'         来自c:/Ruby193/lib/ruby/gems/1.9.1/gems/capybara-webkit-0.8.0/lib/capybara_webkit_builder.rb:33:in build' from c:/Ruby193/lib/ruby/gems/1.9.1/gems/capybara-webkit-0.8.0/lib/capybara_webkit_builder.rb:39:in build_all'         来自extconf.rb:2:在''

Gem文件将保留在c:/Ruby193/lib/ruby/gems/1.9.1/gems/capybara-webkit-0.8.0中进行检查。 结果记录到c:/Ruby193/lib/ruby/gems/1.9.1/gems/capybara-webkit-0.8.0 /./ gem_make.out

1 个答案:

答案 0 :(得分:0)

我遇到了类似的错误,以及错误,例如:

g++.exe: unrecognized option '-headerpad_max_install_names'

make[1]: Leaving directory /ruby/gems/shared/gems/capybara-webkit-0.12.1/src'

Errno::ENOENT: No such file or directory - C:/JRuby/lib/ruby/gems/shared/gems/capybara-webkit-0.12.1/src/webkit_server

LoadError: no such file to load

No such file or directory - C:/Ruby/capybara-webkit-0.12.1/src/webkit_server

基本上,所有这些错误的答案都与您在Windows上安装的capybara-webkit版本有关,具体取决于正确版本的QT,以及mingw工具集中包含的正确版本的g ++编译器。必须安装正确的版本,并将正确的bin目录添加到Windows路径中。

另外,{8}的问题在Windows 8上返回“mswin32”而不是“mingw32”。因此,您必须将capybara_webkit_builder.rb和spec_helper.rb修复为以下内容:RbConfig::CONFIG['host_os']。如果你不这样做,那么你将运行macx-g ++,它不适用于Windows。你必须在Windows上运行win32-g ++。

如果您使用的是JRuby,则/mingw32|mswin32/设置为“java”。因此,您必须将相应的capybara_webkit_builder.rb和connection.rb更改为RUBY_PLATFORM。如果你不这样做,那么二进制文件将编译(但连接中有一个错误),但编译器将崩溃,无法找到webkit-server错误。

您必须按照https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit

上的安装脚本进行操作

在Windows的最后一条指令中,你必须“cd”到gem目录,然后运行

/mingw32|java/

或您构建的任何版本。

所以,答案是得到每个依赖项的所有正确版本,修复错误,确保windows路径变量指向正确版本的g ++编译器(不要忘记在更改路径变量后重启cmd )然后确保在运行命令时您位于正确的目录中。