2011-02-08 16 views
6

Używam ruby ​​1.9.2 na Windowsie i próbuję portować kod, który działał w Rubim 1.8. Kod używa Open4.popen4, który wcześniej działał dobrze. Z 1.9.2 Zrobiłem następujący:Ruby 1.9 - brak takiego pliku do załadowania "win32/open3"

  1. zainstalowana POpen4 poprzez gem install POpen4
  2. Wymagane POpen4 poprzez require 'popen4'
  3. próbował użyć POpen4 jak: Open4.popen4("cmd") {|io_in,io_out,io_er| ... }

Kiedy robię, mam błąd: no such file to load -- win32/open3

Jeśli spróbuję zainstalować win32-open3 (gem install win32-open3) Otrzymuję błąd:
win32-open3 requires Ruby version < 1.9.0

Czy ktoś wie, jak obejść ten problem?

Odpowiedz

14

nie zostały wykorzystane, ale to może działać: https://github.com/matschaffer/win32-open3-19

+2

Pracowałem dla mnie. Dodano do Gemfile gem "win32-open3-19",: platforms =>: mingw,: git => "https://github.com/matschaffer/win32-open3-19.git" –

+1

Dodawanie właśnie tego 'klejnotu "win32-open3-19",: platforms =>: mingw' do mojego 'Gemfile' pracował dla mnie. – Jits

+0

FWIW, 1,9 sposób, aby uzyskać zachowanie open4 jest w https://github.com/matschaffer/win32-open3-19/blob/master/lib/win32/open3.rb Mój klejnot to tylko opakowanie dla sytuacji, w których nie nie mają pełnej kontroli nad łańcuchem zależności klejnotów. –

3

Dodawanie

gem "win32-open3-19", :platforms => :mingw, :git => "github.com/matschaffer/win32-open3-19.git" 

do mojego Gemfile nie dokładnie działa.

Oto kroki, które rozwiązać to dla mnie:

  1. Dodaj do tego Gemfile ->gem 'win32-open3-19', :platforms => :mingw
  2. Run wiązkę zainstalować win32-open3-19

To było to. Dla mnie lokalizacja gita była niepotrzebna i nie działała.

+0

dzięki za poświęcenie czasu, aby dodać tę odpowiedź. to właśnie zrobił dla mnie. Nie wiedziałem wystarczająco dużo rubinów, aby wiedzieć, co spotkało się z pierwszą odpowiedzią. dobrze zrobione dzięki. –

Powiązane problemy