Problemy z korzystaniem z gemów pod Windowsem

Cześć społeczność!
Jestem świeżo upieczonym użytkownikiem Ruby (niebawem mam też nadzieję i Rails) jednak już napotkałem pierwszy problem, którego nie potrafię zgryźć. Otóż chodzi o instalację gemów.
Korzystam z systemu Windows 8.1 i gemy instaluję w taki sposób np.:

Command Prompt, C:\ gem install sys-cpu
Wszystko przebiega pomyślnie do czasu kiedy chcę z gema skorzystać:

Co więcej gema nie ma również na dysku C:\ oraz w katalogu z Rubym.
Co mogę zrobić? Naprawdę ręce mi już opadają.

Zainstaluj Linuxa np. Kubuntu

Z ciekawości sprawdziłem pod Win7 - to samo (wiadomo, windows).
Ale na Ubuntu jest ten sam błąd!

Kup MacBooka.

EDIT:

  1. require ‘sys/cpu’ a nie ‘cpu/sys’
  2. instalacja gema ze wskazaniem platformy: gem install sys-cpu --platform windows

Było już o tym kilka tematów. Ruby pod Windowsem to wyzwanie samo w sobie.

Najlepsze rozwiązanie jak nie chcesz się rozstawać z windą to Vagrant.

1 Like

Cześć!
No niestety:

Tak to wygląda jak gem instaluję…
A tak konsola ruby jak chcę użyć:

Jakieś inne rozwiązanie polecicie? Jakiś instalator dla gemów może istnieje?
Gdzie one tak w ogóle powinny się znajdować?

Gem się pojawił w katalogu, w ktorym go zainstalowałem jednak dalej nie działa jak widać , próbowałem tez bezposrednio w katalogu z Ruby ale nic…

możesz spróbować używać bundlera i na jego podstawie instalować gemy. (http://bundler.io), Ale tak ja pisali @swistak84 i @magnus, przenieś się przynajmniej na linuxa (może być nawet wirtualna maszyna), prędzej czy później i tak ciebie to czeka jeśli poważnie myślisz o ruby.

1 Like

gem install to jest instalator gemów generalnie :grin:

require 'sys/cpu' wydaje się poprawną wersją, cięzko powiedzieć dlaczego nie buja, spróbuj przed require dorzucić gem 'sys-cpu' i daj znać czy buja

@swistak84
niestety nie…

Skoro tutaj nie działa to w railsach również nie będzie? Zależy mi na tym, żeby teraz jednak na Windows jakoś temu zaradzić. Przesiadkę na OS X planuje dopiero za jakiś czas a mam zlecenie :frowning:
Zanim ogarnę linuxa to też troszeczkę czasu minie. Macie jeszcze jakieś pomysły genialne? :slight_smile:

Nie rób z siebie sieroty, jakieś Ubuntu* opanowałbyś na koniecznym poziomie w krótszym czasie niż poświęciłeś na walkę z Windowsem.

* pomijam tu to, że chwilę później pewnie samo Ubuntu wywoływałoby u Ciebie napady agresji ;d

Chwila z google: https://github.com/amaia/rails-starter-box

Jeśli to pomoże, to ja mam taki efekt:

Chętnie przekażę jakieś szczegóły mojej konfiguracji autorowi wątku (Windows 2012 Server x64, ruby instalowane z rubyinstaller.org, koniecznie trzeba mieć doinstalowany DevKit), ale od razu mówię że przy samym sys-cpu nic specjalnego nie robiłem.

Co do pytania o Railsy, to gemy postgresql, mysql i sqlite3 oraz bcrypt zainstalowałem po drobnych wysiłkach (trzeba było pomagać kompilacji ściągając kody źródłowe bibliotek, kompilując dll-e i wrzucając je do folderów z gemem). Poza tymi problemami (ale to były problemy z brakiem bibliotek, jak nie zainstalujesz w Ubuntu albo OS X postgresa to będzie to samo) railsy działały i rspec też.

Natomiast są i zawsze będą problemy z gemami korzystającymi z funkcji standardu POSIX, czyli jeśli dobrze to rozumiem, to należy zapomnieć o gemach które próbuja forkować procesy (unicorn, guard-spork, spring dołożony do rails od wersji 4.1 i pewnie jeszcze wiele innych) i tu niestety zgodzę się z przedmówcami że na Windows jest ciężko.
Do tego jak brakuje postgresql to w ubuntu/debian robisz “apt-get install”, fedorach rpm -i, w pozostałych odmianach linuxów są odpowiedniki, w OS X “brew install”, a w Windows do niedawna musiałeś sobie radzić sam.
Jakiś czas temu powstał http://chocolatey.org, używałem go z powodzeniem na windows, podstawowe pakiety są, więc może coś ułatwi.

O nawet takie rzeczy: http://chocolatey.org/packages?q=ruby

Na win7 wszystko dziala

c:\Ruby200\lib\ruby\gems\2.0.0\gems\sys-cpu-0.7.1>ruby -v
ruby 2.0.0p247 (2013-06-27) [i386-mingw32]


>gem install sys-cpu -V

HEAD https://rubygems.org/latest_specs.4.8.gz
302 Moved Temporarily
HEAD https://s3.amazonaws.com/production.s3.rubygems.org/latest_specs.4.8.gz
304 Not Modified
HEAD https://rubygems.org/specs.4.8.gz
302 Moved Temporarily
HEAD https://s3.amazonaws.com/production.s3.rubygems.org/specs.4.8.gz
304 Not Modified
Installing gem sys-cpu-0.7.1
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/doc/windows.txt
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/doc/sunos.txt
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/doc/bsd.txt
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/doc/hpux.txt
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/doc/linux.txt
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/test/test_sys_cpu_version.rb
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/test/test_sys_cpu_linux.rb
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/test/test_sys_cpu_windows.rb
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/test/test_sys_cpu_bsd.rb
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/test/test_sys_cpu.rb
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/test/test_sys_cpu_sunos.rb
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/test/test_sys_cpu_hpux.rb
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/Rakefile
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/MANIFEST
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/CHANGES
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/sys-cpu.gemspec
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/lib/sys/cpu.rb
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/lib/sys/unix/sys/cpu.rb
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/lib/sys/linux/sys/cpu.rb
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/lib/sys/windows/sys/cpu.rb
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/install.rb
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/README
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/examples/example_sys_cpu_windows.rb
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/examples/example_sys_cpu_hpux.rb
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/examples/example_sys_cpu_sunos.rb
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/examples/example_sys_cpu_linux.rb
C:/Ruby200/lib/ruby/gems/2.0.0/gems/sys-cpu-0.7.1/examples/example_sys_cpu_bsd.rb
Successfully installed sys-cpu-0.7.1
Parsing documentation for sys-cpu-0.7.1
1 gem installed

c:\Ruby200\lib\ruby\gems\2.0.0\gems\sys-cpu-0.7.1>gem list

*** LOCAL GEMS ***

awesome_print (1.2.0)
bigdecimal (1.2.0)
chunky_png (1.3.0)
ffi (1.9.3 x86-mingw32)
i18n (0.6.5)
io-console (0.4.2)
json (1.7.7)
minitest (4.3.2)
multi_json (1.8.2)
psych (2.0.0)
rake (10.1.1, 0.9.6)
rdoc (4.0.0)
sys-cpu (0.7.1)
test-unit (2.5.5, 2.0.0.0)
tzinfo (0.3.38)

c:\Ruby200\lib\ruby\gems\2.0.0\gems\sys-cpu-0.7.1>rake -T
rake clean        # Remove any temporary products
rake clobber      # Remove any generated file
rake example      # Run the example program
rake gem:create   # Create the sys-cpu gem
rake gem:install  # Install the sys-cpu gem
rake test         # Run tests

c:\Ruby200\lib\ruby\gems\2.0.0\gems\sys-cpu-0.7.1>rake test
Loaded suite C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.1/lib/rake/rake_test_loader
Started
........

Finished in 19.955141 seconds.

8 tests, 28 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

0.40 tests/s, 1.40 assertions/s

Dzięki wszystkim za pomoc. Ja rozwiazałem to w taki sposób, że pobrałem gema z oficjalnej strony, wrzuciłem do katalogu /bin z Ruby i zainstalowałem komendą

gem install nazwa_gema_w_katalogu.gem
Wtedy zaczęło działać.

Co do tego linuksa, to chyba faktycznie będę musiał się przenieść chcąc pisać w Railsach ;).

Może z uprawnieniami był problem? Ten Windows 8 to ma coś nakaszanione z UAC.

Również polecam Ubuntu.
Jak zaczynałem tworzyć swoją pierwszą aplikację w RoR to używałem Windowsa - miałem ogromne szczęście, bo wchodziło Rails3… i gem mysql2 pod windowsem nie działał - musiałem przerzucić się na Ubuntu(początkowo jako równoległy system, serio- to nie boli) i to była, wg mnie, najlepsza decyzja z możliwych.