我是新手。我正在尝试在窗口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
答案 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 )然后确保在运行命令时您位于正确的目录中。