2011-01-01 5 views
2

을 설치 한 후 watir 스크립트를 실행할 때 "msvcrt-ruby18.dll이 없습니다"라는 오류 메시지가 표시되면서 rubyinstaller-1.9.2-p136을 설치하고 cmd 프롬프트에서 다음 명령을 실행하십시오.rubyinstaller-1.9.2-p136

보석 업데이트 - 시스템
gem install watir.

명령이 성공적으로 실행되었습니다. 그러나 다음 내용이 포함 된 루비 스크립트를 실행하면 "컴퓨터에 msvcrt-ruby18.dll이 없기 때문에 프로그램을 시작할 수 없습니다."라는 오류 메시지가 나타납니다.이 문제를 해결하기 위해 프로그램을 다시 설치하십시오. "시도해 보았습니다. 여러 번 다시 설치하지만 운이 없다. 나는 구글을 돌며 msvcrt-ruby18.dll 파일을 발견했다. 그러나 나는 내가 그것으로 무엇을해야하는지 모른다. 도와주세요! 내 루비 파일의

내용 :


가 'Watir과'를
즉 = Watir과 :: IE.new
ie.goto ('http://www.google.com')이 필요

답변

0

이 오류를 수정하려면 "AutoItX3.dll"이라는 autoit dll을 등록해야합니다. 내 컴퓨터에서 DLL은 C : \ Ruby192 \ lib \ ruby ​​\ gems \ 1.9.1 \ gems \ rautomation-0.6.3 \ ext \ AutoItX에 있습니다. 따라서 명령 프롬프트에서이 폴더로 이동하여 "regsvr AutoItX3.dll"을 실행해야합니다. 문제가 해결됨

1

Ruby 1.8.6을 사용해 보셨습니까? 나는 그것이 Google Groups for Watir에서 추천 된 것을 보았습니다.

또한 특히 ruby forum thread에서이 문제에 대한 언급을 보았습니다. 특히 하단을 참조하십시오. 방금 시작했다면 Ruby의 최신 버전을 지원할 필요가 없을 것입니다. Ruby의 이전 버전으로 컴파일 된 라이브러리에 문제가 있습니다.

당신은 그러나 모두에 1.8.x 및 1.9.x 시리즈를 대상으로 진 보석을 생성 할 수 없습니다, 보석은 (보석 사양 required_ruby_version 속성을 사용하여) 루비의 한 버전을 대상으로하는 정의 할 수 있습니다

루비.

호환되지 않는 이러한 미리 컴파일 된 확장을 만들어에 1.8.x 및 1.9.x (다른 C-API, 다른 VM 등) 사이의 바이너리 차이가 있습니다. ** 분명히

, Watir과했다 1.8.x로 빌드되었습니다. 대안은 Watir을 기반으로하지만 해당 분기의 변경으로 인해 완전히 호환되지 않는 Vapir을 사용하는 것입니다.

3

아마도 msvcrt-ruby18.dll에 대해 빌드 된 일부 바이너리 젬을 설치했을 것입니다. 해결 방법은 DevKit

  1. DevKit으로 설치하면 네이티브 코드를 로컬로 구축 할 수 있습니다.
  2. 제거 (require'd 때이 대화 상자를 일으키는) 나쁜 보석
  3. 그것을 다시 설치하지만, 지역의 컴파일을 강제, 즉

    보석 설치 gemname --platform = 루비

1

wxRuby를 실행하려면 ruby18 버전을 다운로드하지 마십시오.당신이 얻을 것은 이것이다 :

C:/Ruby192/lib/ruby/gems/1.9.1/gems/wxruby-2.0.1-x86-mingw32/lib/wxruby2.so: [BUG] Segmentation fault 
ruby 1.9.2p180 (2011-02-18) [i386-mingw32] 

-- control frame ---------- 
c:0011 p:-10361992 s:0034 b:0034 l:000033 d:000033 TOP 
c:0010 p:---- s:0032 b:0032 l:000031 d:000031 CFUNC :require 
c:0009 p:0013 s:0028 b:0028 l:000027 d:000027 METHOD <internal:lib/rubygems/custom_require>:29 
c:0008 p:0011 s:0023 b:0023 l:000022 d:000022 TOP C:/Ruby192/lib/ruby/gems/1.9.1/gems/wxruby-2.0.1-x86-mingw32/lib/wx.rb:12 
c:0007 p:---- s:0020 b:0020 l:000019 d:000019 FINISH 
c:0006 p:---- s:0018 b:0018 l:000017 d:000017 CFUNC :require 
c:0005 p:0073 s:0014 b:0014 l:000010 d:000013 BLOCK <internal:lib/rubygems/custom_require>:33 
c:0004 p:0014 s:0011 b:0011 l:000010 d:000010 METHOD <internal:lib/rubygems/custom_require>:29 
c:0003 p:0011 s:0006 b:0006 l:00175c d:002234 EVAL MinimalRuby.rb:1 
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH 
c:0001 p:0000 s:0002 b:0002 l:00175c d:00175c TOP 
--------------------------- 
-- Ruby level backtrace information ---------------------------------------- 
MinimalRuby.rb:1:in `<main>' 
<internal:lib/rubygems/custom_require>:29:in `require' 
<internal:lib/rubygems/custom_require>:33:in `rescue in require' 
<internal:lib/rubygems/custom_require>:33:in `require' 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/wxruby-2.0.1-x86-mingw32/lib/wx.rb:12:in `<top (required)>' 
<internal:lib/rubygems/custom_require>:29:in `require' 
<internal:lib/rubygems/custom_require>:29:in `require' 

[참고] 당신은 루비 인터프리터 또는 확장 라이브러리에 버그가 발생했을 수 있습니다. 버그 신고를 환영합니다. 자세한 내용은 http://www.ruby-lang.org/bugreport.html

이 응용 프로그램은 비정상적인 방법으로 종료하도록 런타임을 요청했습니다. 자세한 내용은 응용 프로그램 지원 팀에 문의하십시오.

gem (wxruby 19)이 잘 다운로드되고 설치되었습니다. 물론, 그것이 반드시 실행된다는 것을 의미하지는 않습니다.